Проблема

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

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

Намерение

Конечно, было бы лучше, если бы архитектурой программного обеспечения занимался старший разработчик, но что, если бы вы могли взглянуть на шпаргалку о лучших решениях для разработки программного обеспечения, которые есть у лучших разработчиков в мире? найденный?

Решение

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

Так что же они? По данным refactoring.guru

"Шаблоны проектирования – это типичные решения часто возникающих проблем при проектировании программного обеспечения. Они похожи на готовые чертежи, которые вы можете настроить для решения повторяющейся проблемы проектирования в вашем коде».

Автор, Александр Швец, объясняет, что хотя программист может работать годами, не зная ни единого шаблона проектирования, и даже реализовывать некоторые шаблоны, не зная, что они из себя представляют, изучение этих шаблонов даст вам навыки решения проблем для всех видов шаблонов проектирования. проблемы, с которыми разработчики сталкивались в прошлом.

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

Кроме того, есть такое понятие, как «рефакторинг». У Алекса также есть хороший онлайн-курс по этому вопросу. Он превращает грязный код в чистый код. Существует известная книга Роберта К. Мартина под названием «Чистый код», но интерактивный онлайн-курс Алекса погружает в нее еще глубже, давая примеры до и после рефакторинга кода для несколько популярных языков программирования.

Меня не просили написать это, и мне не платили за это. Я просто пишу это, чтобы систематизировать свои мысли по этому вопросу, а именно:

  1. Если вы только учитесь программировать, выучите один язык и выучите его хорошо. Просто заставьте приложение работать. Общеизвестно, что если вы можете хорошо кодировать на одном языке, вы, вероятно, сможете кодировать и на всех языках.
  2. После того, как вы освоите этот язык, возможно, вернитесь к своему коду и попробуйте рефакторить все.
  3. После этого изучите шаблоны проектирования, чтобы понять концепции проектирования архитектуры программного обеспечения, и вуаля! Вы старший разработчик.

Вышеупомянутое, вероятно, чрезмерное упрощение, и (если эта средняя учетная запись получит какую-либо поддержку), комментаторы меня за это отругают. В любом случае, я все еще нахожусь на первой фазе для PHP и JavaScript (веб-стеков). Но мне не терпится перевести книгу Александра Швеца «Погружение в шаблоны проектирования», которую я считаю очень важной книгой для нашего времени.

Последняя книга по шаблонам проектирования была выпущена в 1994 году этой «бандой четырех» (известной как книга GoF). И кажется, что Алекс заплатил группе экспертов по различным языкам программирования на UpWork (и, возможно, других платформах), чтобы они доработали примеры, которые он придумал для различных языков программирования.

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

Впрочем, хватит с моей болтовней. Посетите refactoring.guru, если вы разработчик, который уже немного освоил язык программирования и хочет сразу стать старшим.