Thursday, April 05, 2018

Developer Self-Assessment aus Greg Wilson (SW Carpentry)

1. Do you use version control?

2. Can you rebuild with one command?

3. Do you write your tests before your code?

4. Do you run your tests before checking in?

5. Do you know how much of your code they cover?

6. Do you have a bug database?

7. Do you use assertions and other defensive programming techniques?

8. Do you use a symbolic debugger?

9. Can you trace everything you release back to its origins?

10. Do you document as you program?

11. Can you set up a development environment without heroic effort?

12. is there a searchable archive of discussions about the project?

13. Do you use a style checker to maintain code quality?

14. Do you write small tools to automate recurring tasks?

And from Bill Sourour, how you can claim your code is good - if these adjectives apply :

  1. Debuggable
  2. Loggable - for those times when it breaks on some platform and you need to figure out what happened
  3. Testable (note that procedural code is not testable, Misko Hevery)
  4. Fast-failable
  5. Idempotent 
  6. Immutable
  7. Intelligible
  8. Modifiable
  9. Documentable
  10. Modular
  11. Buildable (where most open-source stuff fails - at least for me :) because of dependencies )

No comments: