Programming Concept

productivity
Created on 2015-06-05 Last Modified 2018-06-26


  • Links
  • leesei’s choice
    • Naming
    • What can I learn right now in just 10 minutes that could be useful for the rest of my programming career?
  • Programming Principal
  • reference

Links

leesei’s choice

Naming

寫出黎就要俾名,俾名啲concept 就清楚,code 亦自然清楚

What can I learn right now in just 10 minutes that could be useful for the rest of my programming career?

That programming is about solving problems, not writing code. Here are the four basic tasks that an individual programmer must perform.

  1. Define the problem (requirements and constraints).
  2. Define the solution (algorithms and data structures).
  3. Express the solution in code.
  4. Prove and/or test correctness.

Programming Principal

  • Separation of Concern
  • DRY - Don’t repeat yourself
  • Abstraction Principle
  • KISS (Keep it simple, stupid!)
  • Write Code for the Maintainer
  • Principle of least astonishment
  • YAGNI (you aren’t gonna need it)
  • Do the simplest thing that could possibly work
  • Open/Closed Principle
  • Orthogonality
  • Robustness Principle
  • Hide Implementation Details
  • Minimize Coupling
  • Maximize Cohesion
  • Principle of least astonishment
  • Boy-Scout Rule
    • Leave the campground cleaner than you found it
  • Law of Demeter
  • Code Reuse is Good
  • Embrace Change
  • Don’t make me think
  • Do One Thing and Do It Well (Unix Philosophy)
    • Single Responsibility Principle
    • Curly’s Law
  • Single Responsibility Principle
  • Avoid Premature Optimization

reference


comments powered by Disqus