Module names and descriptions

monk documenting code

Your custom modules should have ridiculously clear and complete names and descriptions.

Custom modules should have a name and description that is so clear and complete that a child could explain what it does and why it's needed. This is one area where you should not follow the example of core or contrib modules! A custom module doesn't "belong" to the programmer(s) who wrote it, it belongs to the site owner. There should be no secrets.

The name should reflect what the module DOES, not what it is or how it's made. And the description should be long and very complete. It should include the date the module was created, what it does, what components and facilities depends on, what depends on it, and the name and email address of the programmer(s) who made it (or who took over from them when they moved on.) Also include a detailed README in the code base, with full information about what the module is for, how it works, who wrote it, and where it fits in with the rest of the site. This is the kind of information that is probably in your issue tracker (like Jira) but put it here too! Your issue tracker may very well be gone by the time you need this info, and it costs you nothing to duplicate it here.