Mojolicious::Guides::CodingGuidelines man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Mojolicious::Guides::CUsergContributedMojolicious::Guides::CodingGuidelines(3)

NAME
       Mojolicious::Guides::CodingGuidelines - Coding Guidelines

OVERVIEW
       This document describes the coding guidelines that are the foundations
       of Mojo and Mojolicious development.

       Please don't send patches unless you agree with them.

MISSION STATEMENT
       Mojo is a runtime environment for Perl web frameworks.  It provides all
       the basic tools and helpers needed to write simple web applications and
       higher level web frameworks such as Mojolicious.

       All components should be reusable in other projects and in a UNIXish
       way only loosely coupled.

       Especially for people new to Perl it should be as easy as possible to
       install Mojolicious and get started.  Writing web applications can be
       one of the most fun ways to learn a language!

       For developers of other web frameworks it should be possible to reuse
       all the infrastructure and just consider the higher levels of the
       Mojolicious distribution an example application.

RULES
	 Web development should be easy and fun, this is what we optimize for.

	 The web is a moving target, to stay relevant we have to stay in
	 motion too.

	 Keep it simple, no magic unless absolutely necessary.

	 The installation process should be as fast and painless as possible.
	 (Less than a minute on most common hardware is a good rule of thumb)

	 Code should be written with a Perl6 port in mind.

	 No refactoring unless a very important feature absolutely depends on
	 it.

	 It's not a feature without a test and documentation.

	 A feature is only needed when the majority of the userbase benefits
	 from it.

	 Features may not be changed without being deprecated for at least one
	 major release.

	 Deprecating a feature should be avoided at all costs.

	 A major release can be version number independent and is signaled by
	 a new unique code name based on a unicode character.

	 New features can be marked as experimental to be excluded from
	 deprecation policies.

	 Only add prereqs if absolutely necessary and make them optional if
	 possible.

	 Domain specific languages should be avoided in favor of Perl'ish
	 solutions.

	 No inline POD.

	 Documentation belongs to the guides, module POD is just an API
	 reference.

	 The main focus of the included documentation should be on examples,
	 no walls of text. (An example for every one or two sentences is a
	 good rule of thumb)

	 The master source code repository should always be kept in a stable
	 state, use feature branches for actual development.

	 Lines should not be longer than 78 characters and we indent with 2
	 whitespaces.

	 Code should be run through Perl::Tidy with the included
	 ".perltidyrc".

	 No spaghetti code.

	 Code should be organized in blocks and those blocks should be
	 commented.

	 Comments should be funny if possible.

	 Every file should contain at least one quote from "The Simpsons" or
	 "Futurama".

	 No names outside of the CREDITS section of Mojo.pm.

	 No Elitism.

	 Peace!

MORE
       You can continue with Mojolicious::Guides now or take a look at the
       Mojolicious wiki <http://github.com/kraih/mojo/wiki>, which contains a
       lot more documentation and examples by many different authors.

perl v5.14.1			  2011Mojolicious::Guides::CodingGuidelines(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net