• Readable code
    • Code that is ready to read, understand, and maintain
  • Comments
  • Naming variables
    • snake: math_score
    • pascal: MathScore
    • camel: mathScore
  • Conventions (Style guides) for each languages
  • Structuring - how your whole program is organized, can we used well with OOP
    • When you structure your code well, you often use design patterns to solve common problems cleanly
    • Modularity
    • File/folder layout
    • Code flow
    • Naming conventions
    • Layered architecture (like MVC)
  • Design patterns
    • Reusable solutions to common design problems
  • Looking at other ppl’s code
    • Look at how libraries are implemented!
    • Official docs site
    • Google search with keyword ~ best practice