Created
February 22, 2018 21:32
-
-
Save mantyr/dc48c454474e8c3ffef94288c53d993d to your computer and use it in GitHub Desktop.
Подготовка к докладу "Gometalinter наше всё:)"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Я вовсе не хочу что бы вы все стали использовать 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