Стайлгайды
- Что такое стайлгайды
- Свод правил и указаний, описывающих то, как и что нужно писать в коде, а как и что --- не нужно
- Что входит в стайлгайд
- Форматирование
- Паттерны написания (оформления) кода
- Зачем стайлгайды нужны
- Проще читать код
- Более быстрое усвоение кода
- Фактор снижения количества ошибок и повышения вероятности их выявления (в том числе и потому, что код будет прочтён большее количество раз)
- Проще работать с кодом (перемещение, сравнение и т. д.)
- Повышение качества кода (потенциально)
- Упорядочивание процесса написания кода: в стайлгайде могут рекоммендоваться одни приёмы и паттерны и не рекоммендоваться другие.
- Проще читать код
- Формализация стайлгайда
- Стайлгайд частично формализуем, частично - нет
- Обычно формализуют форматирование и дальше не идут
- Если и идут, то в духе самописных скриптов, проверяющих наличие плохих функций или конструкци, или же наиболе распространённые ошибки (протих которых есть соответствующие пункты СГ).
- Любое правило можно обойти так, что итог будет противоречить духу стайлгайда
- Отсюда верификация оного не может быть только автоматической, см. тж. code review
- Реальная жизнь богаче и иногда к лучшему результату приводит нарушение стайлгайда
- Стайлгайд частично формализуем, частично - нет
- Примеры
- С
- GNU
- Linux
- С++
- Java
- ???
- Python
- PEP-8
- Другие языки?
- С
- Инструменты
- Подсветка в редакторе
- Форматировщики (stylers, tidy), отдельностоящие или встроенные в IDE - astyle
- Проверка форматирования, встроенная в инфраструктуру проекта (py.test, commit hooks)
ToDo
- Проштудировать kernel style guide, gnu sg, java sg, google sg, pep-8