Искусство — это код

Привет, Мир! 🤚

Искусство — это взрыв? Нет. Искусство — это код.

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

Вы мне, конечно, скажете, что бизнес платит не за красивый код, а за решённые задачи. Да и вообще твой код через два-три месяца удалят или перепишут, зачем тратить время. Да, всё так. Но это не значит, что нужно писать говнокод, не думая о будущем. Что лучше: потратить время сейчас на красивое и оптимальное решение и потом легко его поддерживать или быстро написать кусок и затем каждый раз тратить время на разбор как оно работает? Для меня первое. Причём со временем даже не придётся тратить много времени на красивое решение, оно уже будет получаться само.

Код чаще читается, чем пишется — это факт. Когда пишете свои компоненты, всегда держите в уме, что его будут читать другие люди, а не только вы. Если в команде есть джуниоры, то нужно писать так чтобы все всё поняли, не дёргая вас каждый раз. Не нужно применять какие-то заумные паттерны или конструкции языка, если в команде с ними знакомы только вы.

Часто вижу огроменные компоненты на ≥150 строчек, где всё идёт сплошным текстом. Ни пробелов, ни отступов. Код это такой же текст, почему бы не применить к нему все правила редактуры? В тексте у нас есть предложения, абзацы, различные сноски.

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

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

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

Для меня написание красивого кода также повышает удовольствие от работы. Бывает прилетит скучная задача, которую ты уже решал сто раз, изначально знаешь решение. Становится намного интереснее, когда продумываешь как бы сделать код более элегантным, чем в прошлый раз. Многим разработчикам также не нравится рефакторить код, якобы скучно. А по моему наоборот получаешь кайф, когда видишь что было и что получилось.

Для вдохновения дам парочку гайдлайнов (раз, два, три, четыре, пять, шесть) и плагинов (раз, два).

Развивайте в себе чувство прекрасного, формируйте стиль. Помните, что пишете код по большей части не для себя, а для других.

Какой код вы пишете?
Говнокод 💩
Произведение искусства 💎
Начать дискуссию