Genesis is written in Perl, and we adhere to the following style guidelines:
-
use_underscore_names - No camelCaseHere!
-
no function prototypes - Use destructuring binds to get named arguments out of
@_in your subs:sub do_thing { my ($a, $b, $c) = @_; } -
only use core modules - This eases portability concerns. Sometimes, you can't avoid it (as with
JSON::PP) -- in that case, look at the./packscript and make sure we can embed the non-core module in a distributed script file.