Manual:Pre-commit checklist

This is an attempt to create a checklist to use before making a commit. Some of this duplicates what is in the coding conventions, but is in the form of quick checks. This checklist is in the same vein as The Checklist Manifesto. Some of these may seem silly (like asking a doctor “did you wash your hands?”) but they're meant to avoid problems that may overlooked.


 * Did you use tabs instead of spaces to indent?
 * Whitespace at the end of lines is annoying, don't do that
 * Does this commit contain any whitespace-only changes? They should be isolated to their own coding style-only commit.
 * Did you test your code under E_STRICT?
 * Have you created any identifiers that use underscores instead of CamelCase?
 * Have you tested all exit points from your code?
 * Is every exception tested?
 * If you have multiple returns point, are they tested?
 * Does each message you've created exist in MessagesEn.php and listed in maintenance/languages/messages.inc?
 * Is each use of fopen, fread, etc. checked for errors or problems?
 * Did you use t or b flags for fopen to ensure Windows compatibility?
 * If you're overriding a parent class's methods, do your new methods match signature of the parent?
 * If you've created a new function, have you documented its parameters and what it returns?
 * Have you used the proper output functions? echo should almost never be used.
 * Have you use the proper termination functions? exit should almost never be used.
 * Where appropriate, have you used the MediaWiki wrapper functions instead of their PHP equivalents?
 * wfIniGetBool</tt> instead of ini_get</tt> to get boolean params
 * If you add a new test to parserTests.txt</tt> did you give it a new name?
 * Have you ran php syntaxChecker.php --modified</tt>?