5 мая 2024 г. 16:05

2K

5

Это та книга, которую я хотел бы прочесть раньше.

Если ответить на вопрос — что прочесть, «Совершенный код» Макконнелла ИЛИ «Чистый код» Мартина, то я бы порекомендовал именно Макконнелла. Хотя я не могу сказать, что у Мартина нет ничего дополнительно к тому, о чём пишет Макконнелл, что Мартин вторичен, нет. Как минимум эти его знаменитые SOLID-принципы описаны именно у Мартина в Чистом коде (хотя формулировки он потом в Чистой архитектуре и меняет потом, для SRP, например). Поэтому в конечном итоге я бы рекомендовал читать обе книги. Но начать бы рекомендовал с Макконнелла.

В «Совершенном коде» очень много ссылок на исследования и практически всё подкреплено цифрами. Научный здравый подход. Что лучше — автотестирование или код-ревью или парное программирование, что какие результаты даёт? В книге есть ответы в цифрах и мне было крайне интересно с ними познакомиться.

Да, книга «старая» (выпущена чуть раньше, чем сегодня в обед) и многие боятся её поэтому брать в руки — «да там всё устарело уже, какой смысл читать книги по программированию начала 2000-х?». Автор где-то в книге пишет — и я с ним полностью солидарен — что ценность изучения синтаксиса языка программирования или очередного фреймворка не очень велика, это всё изучается быстро (даже есть цифры относительно этого, насколько «знакомость» технологии для команды влияет на успешность проекта), а вот ценность более фундаментальных вещей, умения писать код и выстраивать методологию работы с ним — это важно, это применимо к любой технологии, и в этом особо ничего не изменилось за последние десятилетия.

Вставки кода где-то на C++, где-то на Java, где-то на Basic — ну да, есть. Но какого программиста это напугает? Весь код понятен и сам по себе, и тем более с пояснениями автора. Никаких заумностей нет. Да, обсуждаются некоторые возможности, которые в современных языках часто не представлены (goto, например), но вот как раз новички и узнают, что есть хорошо и что есть плохо и почему оно всё развивается именно так. Неактуального в книге мало и оно тоже интересно-полезно.

Вообще очень интересно сравнить «Совершенный код» с современными книгами по программированию. «Совершенный код» — не сухой унылый учебник, но подкрепляет почти всё цифрами и исследованиями, в то время как большинство современных книг это зачастую пересказ документации с вкраплениями жизненного опыта автора (совсем не бесспорного опыта, стоит сказать, и тем более с совсем не бесспорными выводами из совсем нерепрезентативной выборки этого своего жизненного опыта). Мне бы хотелось видеть больше современных книг с подходом Макконнелла, но, кажется, их на полках практически нет.

Да, книга толстенькая, почти 900 страниц, но читается легко и едва ли займёт много месяцев на проработку. Если читать, конечно.

Разумеется, «Совершенный код» надо читать не раньше, чем когда уже уложился в голове синтаксис твоего первого языка программирования. Но вот именно в этот момент стоит и прочесть. Как верно пишет автор, лучше сразу учиться писать правильно — чем прививать себе сначала не лучшие привычки и потом пытаться их перестраивать.

Опытным разработчикам многое из написанного будет знакомо, но всё равно на некоторых страницах вы будете восклицать — «о, точняк!». А менее опытным так это просто must read.


Комментарии

Комментариев пока нет — ваш может стать первым

Поделитесь мнением с другими читателями!