Зачем вам анализировать исходный код? И что вообще такое линтинг?

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

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

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

Силиконовая долина => Расс Ханнеман => Линтинг

Мне нравится этот ролик из Силиконовой долины, где Расс Ханнеман (миллиардер с тройной запятой) использует свою систему домашней автоматизации, чтобы сказать сыну почистить зубы и лечь спать (примерно через 3 минуты 37 секунд):

Синопсис:

Моника, Эрлих и Ричард прибывают в дом Расса на заседание правления. Появляется маленький сын Расса, и голос в системе громкой связи приказывает ему лечь спать. Расс объясняет, что система называется The Lady — компания, которую он финансирует, сообщает его сыну, когда ему ложиться спать, принимать ванну и так далее. «Я должен быть его другом, а она — плохой парень», — с улыбкой говорит Расс. «Я разрушил отцовство».

– через HBO

Статический анализ кода: аналогия

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

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

Поэтому, как команда, вы все становитесь домом в этом примере. И как отдельный разработчик в команде, вы все становитесь ребенком, когда вы фиксируете новый код, потому что линтер будет кричать на вас и говорить: «Вы не правильно поставили фигурную скобку». !”

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

«Извини, приятель, это не ко мне»

Первоначально опубликовано на сайте hyperpolyglot.io 2 ноября 2018 г.