Skip to content

Instantly share code, notes, and snippets.

@mantyr
Created February 22, 2018 21:32
Show Gist options
  • Save mantyr/dc48c454474e8c3ffef94288c53d993d to your computer and use it in GitHub Desktop.
Save mantyr/dc48c454474e8c3ffef94288c53d993d to your computer and use it in GitHub Desktop.
Подготовка к докладу "Gometalinter наше всё:)"
Я вовсе не хочу что бы вы все стали использовать Gometalinter, напротив, я хочу что бы сами самостоятельно стали писать код чище, понятнее и от этого доступнее для понимания:) Gometalinter это лишь один из инструментов который позволяет выработать привычку. Привычку писать код граммотно, не допускать очевидных для Gometalinter ошибок и проверять с помощью него вашу работу время от времени.
Вот несколько примеров. Когда я начинал разработку на Go я писал примерно вот так. Это старый репозиторий, ему уже несколько лет. Где-то через год после написания этого кода я узнал о сервисе который выставляет оценки, проверил несколько своих библиотек и ужаснулся… я тогда подумал, ну зачем все эти сложности с отступами… ведь мне половинного таба вполне достаточно:) Сейчас я так уже не считаю. Удобно когда весь код одинаковый.
Теперь я пишу вот так. Обратите внимание что везде, абсолютно везде есть комментарии, конечно если это публичные методы или переменные, однако так же почти всегда комментарии есть у не публичных методов, потому что там они тоже имеют значение. Я пишу этот код так не потому что мне подсказывает об этом gometalinter, а потому что это уже вошло в привычку:) И чаще всего я вижу либо что-то новое для себя в выводе Gometalinter'а, либо это ограничение на количество символов в строке:)
Можно много спорить о том что экраны стали намного больше и шире и 80 символов уже не предел, но суть этого ограничения вовсе не в том что бы почаще переносить текст на новую строку, он в том что бы постараться излагать свои мысли более компактно, сжато и содержательнее. Порою пару лишних символов которые не проходят проверку заставляют переосмыслить комментарий и уложиться таки в более понятную фразу. Это работает и почти всегда имеет положительный эффект при последующем чтении:)
Вот ещё один плюс использование огромного количества линтеров. Когда ваш код уходит на ревью к вам уже почти не придираются:) Вам лишь нужно соблюдать несколько правил о которых гометалинтер пока не в курсе. Вот эти правила:
1. Наименование методов - начинаем с глагола или прилагательного, заканчиваем существительным или объектом
- это позволяет читать код не только вам, но и самым датошным зрителям:)
- есть соблазн использовать сложные предложения вроде XXXfromYYY, но подумайте несколько раз, можете ли вы без этого обойтись и будет ли код после этого более читабельным?:) Я бы добавил линтер который отлавливает именно такие наименования:) Собственно сейчас мы такой и напишем:)
Что бы написать линтер, нужно понять как устроен сам механизм, который мы будем встраивать в виде отдельного линтера в проект гометалинтер:)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment