D 2019-02-23T23:19:12.026
L Style\sGuide
P c875f26773f86bc207e77efcc99a7866fc3ca8ffa1ba17fae49e8298a0f4f365
U joel
W 2181
These are notes for my own use.
Prose
* The Local Yarn should be italicized.
* The Local Yarn is emphatically not “a web site”.
Punctuation
* In a list of actions, list items should end with a period.
* In a list of things, list items should not end with a period.
* Place trailing commas and periods outside of quotation marks unless they are part of the quoted text.
* [https://practicaltypography.com/hyphens-and-dashes.html|Em- and en-dashes], [https://practicaltypography.com/straight-and-curly-quotes.html|“smart” quotes and apostrophes], emoji, and math symbols should be stored as such in the original text source. Do not rely on [https://daringfireball.net/projects/smartypants/|smartypants-style text processing] at any step after writing to produce typographically correct punctuation.
Source files
* Header comment includes copyright notice, license information, and author contact info.
* Lines should be hard-wrapped at ≈100 characters. This includes prose sources.
* (Racket) All comments on their own line begin with ;;
Pre-commit checklist
# Run fossil changes --differ
to ensure no extra files need to be added.
# Run fossil diff --tk
to ensure all edits are related.
# If any files have been added with fossil add
, ensure the makefile is up to date.
# Ideally, any documentation (Scribble files) should be updated at the same time as the source code.
# Make sure you’re on the correct branch.
Commit messages
* Commit messages should use the imperative voice.
* Commit messages should be no more than ≈ 50 characters long.
* If more explanation is needed, create a ticket and cross-reference it with the commit message.
* Link a commit to a related ticket by using brackets [ ]
containing at least the first 6 digits of the UUID.
* Comments added to tickets in connection with a resolving check-in should describe why the change was made, not how (the code does that part already).
Z dc8ef9c35f14e264a58a62ae28696519