Документация Perl 5

Mojolicious::Guides::CodingGuidelines


НАЗВАНИЕ

Mojolicious::Guides::CodingGuidelines - Руководство по разработке

ОБЗОР

Данный документ описывает рекомендации по написанию программ, лежащие в основе разработки Mojo и Mojolicious.

Пожалуйста, не присылайте патчи, если вы не согласны с этими рекомендациями.

НАЗНАЧЕНИЕ

Mojo это среда исполнения для веб-фреймворков на Perl. Она предоставляет все основные инструменты и средства, необходимые для написания как простых веб-приложений, так и веб-фреймворков более высокого уровня, таких как Mojolicious.

Все компоненты должны иметь возможность быть использованными в других проектах и, соответствуя философии UNIX, не должны быть сильно связаны между собой.

Специально для новичков в Perl, процесс установки и начала работы с Mojolicious должен быть настолько прост, насколько это возможно. Написание веб-приложений может быть одним из самых забавных способов изучения языка!

Для разработчиков других фреймворков должно быть возможным повторно использовать всю инфраструктуру, рассматривая более высокие уровни дистрибутива Mojolicious всего лишь примером приложения.

ПРАВИЛА

Веб-разработка должна быть простой и приятной, это, к чему мы стремимся.

Веб — это движущаяся мишень, мы тоже должны оставаться в движении, чтобы быть компетентными.

Все должно быть просто, никакой магии, за исключением случаев, когда она абсолютно необходима.

Процесс установки должен быть настолько быстрым и безболезненным, насколько это возможно. (хорошим правилом является установка менее чем за минуту на наиболее распространенном аппаратном обеспечении).

Желательно писать код, не забывая о переходе на Perl6.

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

Функциональность должна иметь документацию и покрываться тестами.

Функциональная возможность программы нужна только тогда, когда большинство пользователей получают пользу от неё.

Функциональные возможности не могут быть изменены, если они не устарели по крайней мере для одного главного выпуска.

Желательно любой ценой избегать неодобрения свойств программы.

Крупной версией считается та, которая вне зависимости от номера версии, обозначена новым уникальным кодовым именем в кодировке unicode.

Новые свойства программы могут быть помечены как экспериментальные, и в таком случае на них не распространяются политики неодобрения.

Добавляйте предварительные требования только если они абсолютно необходимы и сделайте их необязательными, если это возможно.

Специализированные языки программирования желательно избегать, предпочитая Perl'овые решения.

Никакого внутристрочного POD.

За документацию отвечают руководства, а POD в модуле — всего лишь справочник по API.

Основное внимание в документации должно фокусироваться на примерах, а не на тексте. (хорошим правилом можно считать одно-два предложения, сопровождающиеся примером)

Ветка master исходного кода всегда должна быть в стабильном состоянии, используйте отдельные ветки для фактической разработки.

Строки не должны быть длиннее 78 символов и мы используем отступы в 2 пробела.

Код должен быть пропущен через Perl::Tidy с предоставленными настройками в .perltidyrc.

Нет спагетти-коду!

Код должен быть организован в блоки и эти блоки должны быть прокомментированны.

Комментариям желательно быть веселыми, если возможно.

Каждый файл должен содержать хотя бы одну цитату из Симпсонов или Футурамы.

Никаких имен вне секции CREDITS файла Mojo.pm.

Никакого элитизма.

Мир!

ДОПОЛНИТЕЛЬНО

Вы можете продолжить перейдя на страницу Mojolicious::Guides или на wiki-страничку Mojolicious http://github.com/kraih/mojo/wiki, в котором содержится много документации и примеров от различных авторов.