Skip to content

Instantly share code, notes, and snippets.

@ustulation
Last active June 18, 2016 13:13
Show Gist options
  • Save ustulation/68950a6bb6f63a23921d0f7405a9a3e6 to your computer and use it in GitHub Desktop.
Save ustulation/68950a6bb6f63a23921d0f7405a9a3e6 to your computer and use it in GitHub Desktop.
Review Checklist for Crust

(0) Make sure the states exit after self.terminate() called directly or indirectly and nothing leaks. Pay special attentiion to codes executed after self.terminate().

(1) Alphabetical order of imports. 2 groups - std ones followed by a blank line followed all others. This is now a rule. No discussions regarding this is to be entertained.

(2) All variable conventions are now frozen - so make sure uniformity is maintained. Eg., if EventLoop is el then let it be el in new code. Not event_loop or something else. Consistency is better than useless discussions on proper convention leading to constant changes for no benefit. All major libraries including Linux Kernel, SodiumOxide etc have short names - like pk for PublicKey, sk for SecretKey. It is a hassle typing long ones by people who maintain code on daily basis. If someone is new they better get aquainted before making changes instead of relying on visual cues of names to make a change and later be the cause of some logic breakage which is difficult to debug/find. When new and in doubt you always have the type to refer to if the variable name is confusing. Also every variable name becomes readily apparant once a few-hours/sometime is spent in reading the library anyway. This is now a rule. No discussions regarding this is to be entertained.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment