Skip to content

Latest commit

 

History

History
56 lines (29 loc) · 2.69 KB

File metadata and controls

56 lines (29 loc) · 2.69 KB

Организация кода

Файлы

На мой взляд в корне проекта не должно быть мусорно. Уберите скрипты в scripts, исполняемые файлы в bin, конфиги в etc. Фикстуры в fixtures.json или куда-нибудь в папку fixtures или файлопомойку tools. Что должно быть точно в корне:

Скрипты

Исполняемые файлы не должны быть в корне либо в папке scripts. Исполняемые файлы всегда без раширения и всегда в bin, чтобы его можно было прописать в PATH.

Не исполняемые файлы всегда с расширением. Очень часто можно встретить такую кашу, когда на файле стоит +x, но он почему-то script.sh называется.

Shebang должен начинаться с #!/usr/bin/env, для баша /usr/bin/env bash.

Для скриптов, которые должны пройти без ошибок пишите set -e.

Другие советы смотрите тут.

Codestyle

Обязательно проверяйте весь код линтерами или форматируйте код атоматически.

Коды возврата

http://tldp.org/LDP/abs/html/exitcodes.html. Пересмотрите свои коды возврата на предмет соблюдения правил из ссылки.

Грамматика

Прогоняйте документацию и даже комментарии через spellchecker.

Коннект к базе

Нужны retry политики как тут https://github.com/kelseyhightower/12-fractured-apps/blob/master/v3/main.go#L85

Приложение не должно падать при старте без базы!

Комментарии

JFYI // @TODO - @ это doxygen, абсолютно не обязательная вещь не в java и не в php

Просто законментированный код надо удалить, это мусор.

Пишите комментарии на английском языке.

Логи

Логирование должно быть реализовано на разном уровне facility. Часто кроме Info вообще ничего нет. Логи это ваши хлебные крошки для расследования инцидентов на продакшене.