Created Started Finished
By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Make the contract the next rule has to keep The two commits before this gave the three fields distinct jobs. Nothing recorded that, so the next rule is free to go back to answering the same question three times. Record it where a rule author is already looking: on the fields themselves. The finding message names what was found and only that, the rule text is one short line, and the why is the argument for the rule rather than for any one finding. Assert the one part of it a machine can hold. A rule text over 80 columns is a rule saying two things, and the second belongs in the why. RuleSpec is where the meta-properties live, so it costs nothing per rule. Three things the sweep before this missed: ExampleNoShouting is the rule a repository copies when it writes one of its own, and it was the worst negation in the tree: a comment is not written in capitals, there is no standard and there does not need to be, a rule hopinion does not ship. The template is the last place to leave the pattern. HsNoFilePath said "so those mistakes compile" after a sentence that named no mistake. It names one now. HsAppOnlyMain claimed only a library can be imported, which is not what stops an executable being tested: a test suite imports its own modules happily. What is true is that an executable's modules are private to it. Goldens reset.