Consistency of style is especially important in Lucy because multiple programming languages are involved. Virtually no contributors are likely to be equally fluent in all of them, and it is easier for those who are less fluent in a given language to comprehend code that adheres to a single style.

Contributions should conform to the following set of guidelines. Individual guidelines may be broken if necessary to achieve a clearer layout.

All Languages

Pronounceable identifiers are preferred over nms_wth_vwls_rmvd (names with vowels removed), as they are easier for non-native English speakers to parse.

C

All C code should follow the guidelines spelled out in the Apache HTTPD C Style Guide: http://httpd.apache.org/dev/styleguide.html.

In addition, contributions should use these naming conventions:

Perl

All code should follow perlstyle.

Formatting is handled automatically using the app $DIST_ROOT/devel/lucytidy, which is perltidy with a preference set derived from guidelines laid out in Damian Conway's book 'Perl Best Practices'.

Ruby

All code should follow the guidelines set out here:

Spaces should be used for indentation. Curly braces should be used for one-line blocks, do ... end for multi-line blocks.

File naming should follow these conventions:

All code should be wrapped in the Lucy module. Public methods should include rdoc comments.

LucyStyleGuide (last edited 2009-09-20 21:59:24 by localhost)