MojoMojo development best practices
Below are the currently agreed-upon development practices for writing MojoMojo code. Discussion are welcome at discussion.
- in Perl code, use 4-space indentation. No tabs.
- in Template::Toolkit code, use 4-space indentation for HTML code, and 2-space indentation for TT code. See rationale and examples at Indenting TT and HTML.
line length is 120 characters per line. Nobody really uses 80-character lines, and we don't print out code. If you are using Perl::Tidy to automatically format your code according to PBP pages 34-35, you can achieve this via:
perltidy --perl-best-practices -l=115
ideally, your code should pass Perl::Critic on at least the gentle setting.
Development best practices
- All testable functions should have tests
- Every module and function should have POD documentation
- HTML output should be XHTML 1.0 Strict
- CSS 2.
- If you write failing tests for upcoming features (TDD), put them in Test::More TODO sections.
- Do not put failing regression tests in TODO sections just to have tests pass and ship. Work on fixing the code to pass the tests.