Skip to content

Latest commit

 

History

History
94 lines (65 loc) · 8.07 KB

File metadata and controls

94 lines (65 loc) · 8.07 KB

Предисловие

Одна из трудностей, с которой мы сталкиваемся, — это поиск кратких и содержательных выжимок без лишней воды. Часто приходится выбирать между чтением громоздких книг по 500 страниц или бесконечным пролистыванием блогов, лент и статей в интернете. Это разочарование подтолкнуло меня к созданию сжатой, практической книги — о том, как писать понятный, опрятный и уважающий коллег код. Всё — на конкретных примерах, преимущественно с использованием PHP.

Тема качественного кода сложна и многогранна. Некоторые её аспекты неизбежно вызывают споры и сводятся к вопросам вкуса и личных предпочтений. Такие вопросы в книге опущены. В центре внимания — конкретные, проверенные практикой правила, которые помогают писать опрятный на вид код.

Важно понимать, что темы чистого кода, архитектуры и объектно-ориентированного программирования — это по-настоящему глубокие области. Углубляться в них можно бесконечно. Однако в этой книге мы сознательно сосредотачиваемся на визуальной читаемости и внешней аккуратности кода. Почему? Потому что именно с этого всё начинается.

Это как человек-денди: он входит в комнату — и ты сразу замечаешь, что он ухожен, аккуратен, элегантен. Ты ещё не знаешь, о чём он будет говорить, но уже понимаешь — перед тобой тот, кто уважает себя и окружающих.

Так и код: даже если ты не вникал в его логику, по внешнему виду видно, что автору не всё равно. Это уважение — к себе, к коллеге, к команде.

Эта книга — о том, как сделать код чуть приятнее глазу. И пусть это станет вашим первым шагом к более глубокому пониманию чистоты и структуры.

Для кого предназначена эта книга

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

Если вы сомневаетесь, «Подходит ли это мне?», попробуйте ответить на короткий чек-лист:

  • Я имею базовые знания программирования.
  • Я участвовал в создании хотя бы одного коммерческого, личного или учебного проекта.
  • Я хочу улучшить свой код и работать в команде более
    эффективно.

Кому не подойдёт эта книга

Если вы ищете глубокое погружение в теорию объектно-ориентированного программирования, архитектуру приложений или сложные паттерны проектирования, возможно, вам стоит начать с трудов Мартина Фаулера, Роберта Мартина, Стива Макконнелла и других авторов.

Здесь вы не найдёте пространных рассуждений о том, почему static — это зло, null — ошибка на миллиард долларов, или как строго следовать принципам SOLID. Мы не будем явно обсуждать coupling и cohesion, рассчитывать показатели maintainability или разбирать уровни абстракций.

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

Как извлечь максимум из этой книги

Вы можете прочитать её залпом за вечер, но вряд ли это принесёт ощутимую пользу. Гораздо эффективнее — читать по одной-две главы за раз. Применять на практике. Обсуждать с коллегами. Спорить. Переделывать старый код. И главное — почувствовать разницу.

Если спор зашёл в тупик или у вас возник вопрос по содержанию книги, пожалуйста, создайте issue в GitHub-репозитории: https://github.com/tabuna/dandy-code

Искренне надеюсь, что чтение будет для вас интересным и полезным — и что эта книга поможет строить приложения проще, чище и эффективнее. Спасибо, что читаете.

Рецензенты и консультанты

Эта книга прошла проверку рядом специалистов, чей опыт и знания помогли повысить её качество. Они поддерживали меня, делились обратной связью, участвовали в обсуждениях и внимательной вычитке текста. Именно благодаря их вкладу книга стала лучше. Я с удовольствием увековечиваю их имена на этих страницах:

Владислав Абросимов, Дмитрий Афанасьев, Игорь Бабаев, Егор Бугаенко, Зайнулла Жумаев, Иван Сорокин, Сергей Ивлев, Денис Лопухин, Сергей Предводителев, Денис Тарков, Евгений Уткин, Андрей Хэллдар, Владимир Чепелев.

Особые слова благодарности я хочу выразить моим друзьям:

  • Илье Чубарову
  • Дмитрию Скирте

Хватит предисловий. Пора наводить порядок.