Перечень требований к коду Ruby on Rails приложения
1. Экшн контроллера должен вызывать только один метод модели после начального #find или #new. Если есть потребность, сделайте у модели дополнительный #new или #update метод, который будете вызывать в контроллере.
2. Контроллер должен передавать в вид одну или максимум две переменные.
3. Все имена классов и переменных должны быть понятны даже новому разработчику. Избегайте длинных имен и аббревиатур.
4. Все выборки модели, которые делаются в контроллере больше одного раза, должны быть объявлены как named_scope.
5. В виде никогда не вызываются @model.find*.
6. Код приложения никогда не дублирует функциональность Rails.
7. Во время разработки код усиленно DRY-ится.
8. Весь функционал, общий для двух или более моделей, выносится в отдельную библиотеку/модуль. (данное правило справедливо так же для контроллеров – sotakone)
9. Весь функционал, используемый в двух или более приложениях, выносится в отдельный gem-плагин (не обязательно в gem, но в плагин точно – sotakone).
10. В коде приложения не используется STI.
11. Архитектурные решения должны быть наиболее простыми. Не нужно закладывать в приложение зачатки будущей функциональности.
12. <Верхний> уровень приложения (код контроллеров) должен быть обложен тестами вдоль и поперек. Чем чаще код используется конечным пользователем, тем больше на него должно быть тестов.
13. Код вливается в основную ветку только если проходят все тесты.
14. Чтобы предотвратить повторное появление багов, на каждый исправленный баг создается тест.
15. Код каждого установленного плагина предварительно изучается.
Я подтверждаю, что все это верно для моего проекта.
[Имя разработчика] [Подпись]
Опубликовано через email с IT Digest