Difference between revisions of "Best Coding Practices"

From Coder Merlin
Line 19: Line 19:
}}
}}


{{BestPractice|174|
Great functions exhibit these three vital properties:
* Easy to read and comprehend
* Easy to debug
* Easy to modify to solve a variation of the original task
<ref>https://www.cs.mtsu.edu/~untch/karel/functions.html</ref>
}}


* No global variables
* No global variables
Line 51: Line 59:
* [https://swift.org/documentation/api-design-guidelines/ API Design Guidelines] (Swift Documentation)
* [https://swift.org/documentation/api-design-guidelines/ API Design Guidelines] (Swift Documentation)
* [https://google.github.io/swift/#apples-api-style-guidelines API Style Guidelines] (Google Documentation)
* [https://google.github.io/swift/#apples-api-style-guidelines API Style Guidelines] (Google Documentation)
<references/>

Revision as of 14:42, 19 February 2021

Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder
Best PracticeHintIcon.png
👍 #261

Flowcharts are your friend


Best PracticeHintIcon.png
👍 #657

Use appropriate capitalization

  • Names of types and protocols are UpperCamelCase (Pascal case)
  • Everything else is lowerCamelCase


Best PracticeHintIcon.png
👍 #359

Clarity is more important than brevity


Best PracticeHintIcon.png
👍 #563

Preconditions are your friend

  • Include sufficient information for the message to be useful


Best PracticeHintIcon.png
👍 #174

Great functions exhibit these three vital properties:

  • Easy to read and comprehend
  • Easy to debug
  • Easy to modify to solve a variation of the original task

[1]

  • No global variables
  • Appropriate capitalization
  • Appropriate and descriptive variable names
    • nouns are usually most appropriate
  • Appropriate and descriptive function names
    • verbs are usually most appropriate
  • Appropriate use of functions
    • In general, avoid mid-function exits
  • Avoid repetition
    • DRY: Do Not Repeat Yourself
    • DIE: Duplication is Evil
  • Appropriate scoping
    • Scope is no wider than absolutely necessary
  • Appropriate loops
    • Correct loop type
    • In general, avoid mid-loop exits
  • Appropriate indentation
  • Helpful whitespace
  • Appropriate placement of closing braces and parentheses
  • Deliberate and helpful comments
    • Avoid "obvious" comments
  • Avoid deep nesting
  • Avoid inappropriate nesting of functions
  • Limit line length
  • Appropriate file organization
    • Generally one class per file
  • Code is clear and concise

References[edit]