- What problem are you trying to solve? Is the problem specified clearly?
- Comprehensibility: What will you do to help others (or yourself one year later) understand your code/design. Hint: Wiki, coding conventions, KISS.
- Modularity/dependency: What approach will you take to make your modules independent? Hint: Encapsulation, MVC pattern.
- Testability: How will you make sure that your implentation will be as unit testable as possible? Hint: Keep methods short. Whenever you can, make objects/methods static.
- Error handling and logging: What error cases do you foresee and what mechanisms will you have in place to log and recover from errors? Hint: Exceptions.
Thursday, January 15, 2015
A minimal software design effort should include the following:
Labels: software development