Как пишут код на разных этапах карьеры
easy

Как пишут код на разных этапах карьеры

Посмотрите, на каком этапе вы

Мы наткнулись на какую-то дурку на StackOverflow, что, мол, сначала ты пишешь код абы как, потом много комментируешь, потом обкладываешься формальными конструкциями, потом ещё что-то, а на вершине профессионального роста — снова абы как. Мы хихикнули, а потом задумались — а как оно на самом деле. И вот что получилось. 

Самое начало: лишь бы работало

Когда человек только начинает осваивать кодинг, его главный принцип звучит так: лишь бы работало и запустилось. Из-за этого в ход идёт всё подряд:

  • готовые фрагменты кода со StackOverflow;
  • примеры из материалов и учебников;
  • избыточные и громоздкие конструкции;
  • переменные, которые объявляются, но так и не используются.

👉 Код или выглядит предельно просто и «в лоб», или состоит из безумных конструкций и решений, разобраться в которых крайне сложно.

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

Правильный код

Спустя некоторое время программист набивает руку и начинает писать «правильный код»:

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

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

👉 Код выглядит как образец программирования: идеальные комментарии, всё логично и стройно. Нет ни одного решения, которое бы вызывало вопросы «А почему это сделано именно так».

Библиотеки и фреймворки

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

  • поиск самой лучшей библиотеки и фреймворка;
  • куски чужого кода в своей программе, скопированные из блога разработчика фреймворка;
  • переписывание старых программ под новый фреймворк.

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

👉 Код выглядит как код хакера из фильмов: сложные конструкции, понятные только избранным; неочевидные решения, которые продиктованы логикой фреймворка; очень много команд из внешних библиотек.

Совместимость, комьюнити и внешние сервисы

К этому времени у разработчика уже много опыта:

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

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

Например, код может выглядеть как-то так

👉 Разобраться в этом коде сможет только программист с такой же квалификацией. Остальные смотрят, кивают и идут дальше заниматься своими делами. Поддерживать этот код могут 1–2 человека в компании.

15 лет практики: лишь бы работало

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

  • фрагменты кода из StackOverflow, потому что так быстрее;
  • переменные из одной буквы, потому что так проще;
  • избыточные команды, потому что так быстрее, а при компиляции компьютер всё равно это оптимизирует;
  • один-два комментария на весь код, потому что остальное и так понятно, чего тут ещё объяснять?

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

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Алина Грызлова

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Вам может быть интересно
easy
[anycomment]
Exit mobile version