Best Coding Practices
Introduction to General Coding Standards
Coding standards are the rules and techniques for writing clean, more readable, and maintainable code in a programming language.
Think of it like casting a spell inscribed on a magic book. The book represents a style guide on formatting the code to make sure it is efficient and free of errors. The spell is the operation being executed by the interpreter according to a set of instructions. Test it out for yourself by right-clicking on βinspectβ to catch a glimpse of the markup on a webpage.
While different industries have their own standards, there are universal rules for documenting code you should follow to preserve its integrity and scalability. When learning to code, the key concepts are naming, commenting, indenting, debugging, scoping, and testing.
What are the most important coding conventions?
Flowcharts depict the information flow of an algorithm. For planning multi-step functions, flowcharts are your friend.
Use the appropriate capitalization on names:
- Types and protocols (Ex: classes, objects) are UpperCamelCase (Pascal case)
- Everything else is lowerCamelCase (Ex: variable, function, method)
For code readability, clarity is more important than brevity
- Avoid long lines at all costs
- Can someone else understand what it does?
Preconditions are your friend:
- They assert the state of a program before an execution
- Include sufficient information for the message to be useful
Great functions exhibit three vital properties:
- They are easy to read and comprehend
- They are easy to debug if something goes wrong
- They are easy to modify for solving a variation of the original task[1]
Donβt declare variables outside of functions
- Global variables are evil: They cause unintentional changes to the program.
Always use appropriate and descriptive variable names
- nouns are usually most appropriate
Always use appropriate and descriptive function names
- verbs are usually most appropriate
Orderly exits from functions
- In general, avoid mid-function exits
Avoid repetition
- DRY: Do Not Repeat Yourself
- DIE: Duplication is Evil
Scope appropriately
- Scope is no wider than absolutely necessary
Loop appropriately
- Correct loop type
- In general, avoid mid-loop exits
Always use appropriate indentation
- Helpful white space
- Appropriate placement of closing braces and parentheses
Use comments to advantage others
- Deliberate and helpful comments
- Avoid "obvious" comments
Nest appropriately
- Avoid deep nesting
- Avoid inappropriate nesting of functions
- Indent correctly according to nested level
Limit line length
Organize files appropriately
- Generally one class per file
Hardcode only when there is no other choice
- All other values should be one of the following:
- Calculated
- Retrieved from configuration
Do not place extraneous files into source control
- Exclude all build artifacts
- Exclude any "backup" files (e.g. main.swift~)
Exercises[edit]
- M1297-28 Complete Merlin Mission Manager Mission M1297-28.
References[edit]
- API Design Guidelines (Swift Documentation)
- API Style Guidelines (Google Documentation)