В настоящее время я нахожусь на отметке одного месяца моего ученичества 8-го света. Я прошёл этот путь в этом году. В марте я уволился со своей работы, записался на dev bootcamp, провел лето в поисках работы. Каким-то образом мне посчастливилось найти работу по всей стране, чтобы заниматься тем, что, как я бы сказал, является моей растущей страстью. С учетом сказанного я пришел к выводу, что программирование по своей сути — это настоящее искусство. Разработка приложения похожа на искусство: вы никогда не закончите и никогда не будете совершенны.

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

Эмерджентный дизайн

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

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

TDD

Первый шаг довольно прост. Напишите тест, который провалился, затем напишите производственный код для прохождения. Мило и просто. TDD заставляет вас определять ограничения и цели ваших функций до его написания. Это схема вашего исходного кода.

Рефакторинг

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

Нет дублирования

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

Выразительный

Если бы вы вернулись к своему проекту через год, смогли бы вы следить за тем, что происходит? Важно сделать ваш код подробным. Если функция требует комментариев, чтобы кто-то понял ее, возможно, ее необходимо реорганизовать.

Меньше всегда больше

Взгляните на свои классы и методы, они маленькие и сосредоточены на одной ответственности. Если нет, то это огромный дизайнерский запах, который необходимо изменить и обновить.