Давайте посмотрим правде в глаза, мы, разработчики, живем в очень странном мире. Объясните, что вы делаете 95% населения, и они, скорее всего, остекленеют еще до того, как вы закончите свое предложение. То, что вы делаете с компьютером изо дня в день, большинству людей кажется кровавым волшебством, и так и должно быть, программирование – это сверхдержава.
Это сверхдержава, которая требует тщательного обдумывания и рассмотрения, особенно для тех программистов, которым придется читать ваш код позже.
Всегда кодируйте так, как будто человек, который в конечном итоге поддерживает ваш код, является жестоким психопатом, который знает, где вы живете.
Единственная книга, которую я хотел бы, чтобы каждый программист до меня прочитал, прежде чем писать эту функцию 3000 строк, – это Чистый код – Роберт К. Мартин .
Эта книга открыла мне совершенно новый взгляд, она изменила то, как я думаю о каждой строке кода. Это заставило меня понять, что быть инженером-программистом – это целое искусство.
Это учит:
- Как определить плохой код
- Как правильно называть переменные/классы/функции
- Как писать чистые, небольшие, универсальные функции
- Когда комментировать, вернее, когда не для комментариев
- Рекомендации по правильному форматированию кода
- Использование объектов и структур данных для соответствующей абстракции данных
- Как правильно следовать законам TDD и писать чистые тесты
- Элегантные способы обработки ошибок
- Бесконечные советы по рефакторингу
- 67 запахов и эвристики (да, я посчитал. 🤣)
И многое, многое другое.
Всякий раз, когда я программирую, у меня есть чистый код, который можно использовать в качестве ориентира. В книге есть множество примеров преобразования плохого кода в чистый код и пошаговый процесс, как этого добиться.
Например, буквально на днях я занимался рефакторингом функции, которая нарушала принцип единой ответственности по многим пунктам, и ломал голову над тем, как правильно ее разделить. Я обратился к книге, чтобы освежить в памяти эффективный способ ознакомления с процессом, и там был пример точно как и моя проблема, единственное незначительное отличие на самом деле заключается в контексте.
Роберт К. Мартин (широко известный как дядя Боб) – суперзвезда программирования. Он не только пишет абсолютно блестящие книги, но и очень талантливый оратор. Просто посмотрите “Дядю Боба” на YouTube, и вы найдете поток его выступлений, каждое из которых так же интересно, как и следующее.
Его блог также является одним из моих любимых для чтения с некоторыми довольно точными цитатами:
На мой взгляд, каждый программист должен прочитать эту книгу, по крайней мере, 3 раза 😄 . Это даст вам совершенно новую любовь к программированию. Вы действительно начнете понимать, когда пишете плохой код. Вы посмотрите на свой старый код и вздрогнете от его структуры, вертикального интервала, сложности, несинхронизированных абстракций, бесполезных комментариев и характера спагетти. ( ну, я делаю это каждый божий день ). В книге фрагменты кода написаны на Java, но те же правила применимы к большинству языков!
Этот блог – лишь краткое введение в преимущества чтения этой книги, я настоятельно рекомендую вам прочитать ее, если вы еще этого не сделали. Мне бы хотелось услышать ваши мысли о чистом коде и, возможно, о том, как это изменило вашу точку зрения. Я также хотел бы услышать о некоторых других книгах, которые полностью изменили ваш взгляд на код.
Подписывайтесь на меня в твиттере, если не хотите пропустить абсолютно блестящее понимание программирования: 🤣 @luke_garrigan
Оригинал: “https://dev.to/lukegarrigan/the-one-book-every-developer-must-read-33p9”