Эта статья является составной частью документации веб-фреймворка Mojolicious
НАЗВАНИЕ
Mojolicious::Guides::CodingGuidelines - Руководство по разработке
ОБЗОР
Данный документ описывает рекомендации по написанию программ, лежащие в основе разработки Mojo и Mojolicious.
Пожалуйста, не присылайте патчи, если вы не согласны с этими рекомендациями.
НАЗНАЧЕНИЕ
Mojo это среда исполнения для Perl веб-фреймворков. Она предоставляет все основные инструменты и средства, необходимые для написания как простых веб-приложений, так и веб-фреймворков более высокого уровня, таких как Mojolicious.
Все компоненты должны иметь возможность быть использованными в других проектах и, соответствуя философии UNIX, не должны быть сильно связаны между собой.
Специально для новичков в Perl, процесс установки и начала работы с Mojolicious должен быть настолько прост, насколько это возможно. Написание веб-приложений может быть одним из самых забавных способов изучения языка!
Для разработчиков других фреймворков должно быть возможным повторно использовать всю инфраструктуру, рассматривая более высокие уровни дистрибутива Mojolicious всего лишь примером приложения.
ПРАВИЛА
-
Все должно быть просто, никакой магии, за исключением случаев, когда она абсолютно необходима.
-
Желательно писать код, не забывая о переходе на Perl6.
-
Никакого рефакторинга, за исключением случая, когда какое-то очень важное свойство программы абсолютно зависит от него.
-
Без теста - функционал ничто!
-
Функциональная возможность программы нужна только тогда, когда большинство пользователей получают пользу от неё.
-
Функциональные возможности не могут быть изменены, если они не устарели по крайней мере для одного главного выпуска.
-
Желательно любой ценой избегать неодобрения свойств программы.
-
Крупной версией считается та, которая обозначена новым уникальным кодовым названием, вне зависимости от номера версии.
-
Новые свойства программы могут быть помечены как экспериментальные, и в таком случае на них не распространяются политики неодобрения.
-
Добавляйте предварительные требования только если они абсолютно необходимы.
-
Специализированные языки программирования желательно избегать, предпочитая Perl'овые решения.
-
Никакого внутристрочного POD.
-
За документацию отвечает книга, а POD в модуле — всего лишь справочник по API.
-
Строки не должны быть длиннее 78 символов и мы используем отступы в 4 пробела.
-
Код должен быть пропущен через Perl::Tidy с предоставленными настройками в
.perltidyrc
. -
Нет спагетти-коду!
-
Код должен быть организован в блоки и эти блоки должны быть прокомментированны.
-
Комментариям желательно быть веселыми, если возможно.
-
Каждый файл должен содержать хотя бы одну цитату из
Симпсонов
илиФутурамы
. -
Никаких имен вне секции CREDITS файла Mojo.pm.
-
Никакого элитизма.
-
Мир!
Copyright (©) 2008-2010, Sebastian Riedel.
Оригинал (английский): Coding Guidelines
Перевод: ©
alexey-rusaleev,
xoma,
vti,
Дмитрий,
Foxcool
Лицензия: The Artistic License 2.0
translated.by переведено толпой