7 Sep
2007

Widgets of Wisdom I

Category:UncategorizedTag: , :

I scribble little sayings, quotes, statistics, and notes on paper pads all through my day. I collect these great little nuggets and keep them on scraps of paper forever, it seems. I never know what do do with all of these little pearls so that they might be recorded for posterity, so to keep them alive and useful I bring you part one in what I hope to be a regular series for Elegant Code, Widgets of Wisdom.

These items may or not be attributed, I am literally transcribing from my notes. Many of these are even mine :). Many are not, and for them I offer no defense.

  1. Truly useful models represent a single domain with multiple views, each optimized for a particular viewer. A good example of this is the multiple maps of the same geography we have for different audiences. Map types include topographic, population, export, production rates, highway, water sources, surface streets, and many others.
  2. Models do not need to reflect reality, instead they should be optimized for a particular use.
  3. Trying to reflect reality in a model is not useful — Eric Evans.
  4. Use scenarios to work thought the process of building a model. Use personal interviews to build views on that model.
  5. The ultimate Agile tool is ReSharper. It is the one thing for .Net developers that removes fear of change. Refactoring is just so darn easy that change isn’t scary.
  6. At the end of each sprint, run FxCop on your code. Compare the results to the run you did on the same code at the end of your previous sprint. Your code should be getting cleaner, not more complex.
  7. “Denial of complexity is the essence of tyranny.” -Jacob Burkhardt
  8. Why all the arguing over what it means to be done in Agile?
    1. Ken prescribed it in his first book. p.104-105.
    2. Can we ship in 30 days?
  9. Show code coverage statistics at Sprint Review. Use the same metrics for all teams presenting to promote a healthy competition.
  10. How good are you at your business? Measuring how well teams are adhering to the principles, use these frameworks:
  11. Extreme Programming Evaluation Framework (XP-EF)
  12. TSP-EF: the Team Software Process ( TSPSM) Evaluation Framework
  13. Cyclomatic complexity score of greater than 10 is an indicator of a need to refactor.
  14. Should you ever go against the file system in a unit test? Should a mock always be used?
  15. Writing code w/o unit tests is like hitting your hand with a hammer and complaining it hurts, then hitting it again. Does anyone actually write code w/ no tests anymore? Wow, all that money spent on making debuggers; too bad, really.

Technorati Tags:

3 thoughts on “Widgets of Wisdom I

Comments are closed.