Совершенный код. Стив Макконнелл

read-code_05

Еще одна книга, чтобы не повторять ошибки, сделанные другими разработчиками миллионы раз. Стив Макконнелл делится своим опытом и опытом авторов многих других книг на тему разработки ПО.

Некоторая информация устаревшая

Книга впервые была выпущена в 1993 году, второе издание — в 2004 году. Возможно поэтому иногда встречаются спорные моменты. Например, автор предлагает писать префикс m_ для переменных класса. Как я знаю, данная практика сейчас не особо широко распространена. Также в главе про оптимизацию пишется следующее:

В первом издании я запускал тесты из этой главы 10 000-50 000 раз чтобы получить существенно различимые цифры. В данном издании мне пришлось запускать их от 1 млн до 100 млн раз.

Стив пишет, что если оптимизация кода поставлена во главу угла, то стоит учитывать особенности компилятора. Например, иногда лучше писать вот так:

if (A)
    if (B)

чем так:

if (A && B)

Потому что в последнем примере второе условие так же будет проверено, даже если первое условие ложное. Я думал, все компиляторы работают таким образом, чтобы прекратить проверку условии как можно раньше. В любом случае сегодня в большинстве случаев лучше пренебречь несущественной оптимизацией дабы улучшить читабельность кода.

Много статистических данных

В книге много сравнении на основе цифр, полученных из реальных проектов. Мы можем просто сказать «лучше писать тесты чем не писать». Это утверждение Стив докажет с помощью цифр. Один из примеров из книги:

Размер проекта (в строках кода) Количество ошибок в коде
Меньше 2K 0–25 ошибок на каждые 1000 строк кода
2K–16K 0–40 ошибок
16K–64K 0.5–50 ошибок
64K–512K 2–70 ошибок
512K or more 4–100 ошибок

И таких таблиц/графиков в книге достаточно.

Краткость — не про эту книгу

Данная книга заставила меня немного поучить про скоростное чтение. Объем — почти 900 страниц. По моему мнению, многие параграфы можно было сжать. К счастью форматирование книги выполнена таким образом, что в большинстве случаев можно понять содержимое абзаца по выделенному первому предложению. Здесь часто пишется основная идея.

Польза

Почти каждый найдет в этой книге интересное и новое. Например, для меня самыми интересными главами были 21-я (Collaborative Construction) и 22-я (Developer Testing).

Эта книга не только про кодинг, но и про проектирование и менеджмент. Потому некоторые главы будут интересны и менеджерам команды разработчиков ПО.

 

В процессе чтения книги я сохранял у себя интересные абзацы, хотел вставить их здесь как цитаты. Затем понял, что это глупая затея, т.к. большая часть поста состояла бы из цитат. Думаю, я буду периодически возвращаться к этой книге, особенно, при проектировании проектов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Картинка профиля Doszhan Kalibek

Doszhan Kalibek