Friday, January 23, 2015

TDD is about Development not Design

TDD is about Development not Design

In initial design stage, need to hide unrelated detail as much as possible, cover high level scenario only.

Test Driven Design forces thinking on low level details. In this way, it is very easy to lose focus.


Try a new project to see if TDD stands for Test Driven Development, or Test Driven Design

Thursday, January 22, 2015

Why I Don't Teach SOLID

"The main culprit is SOLID's focus on dependencies. "
"These all lead developers to create interfaces everywhere.  They litter the codebase with interfaces like IFooer, IDoer, IMooer, and IPooer.  Navigating it becomes a nightmare. "
http://qualityisspeed.blogspot.nl/2014/08/why-i-dont-teach-solid.html



Personal experience:
I ever worked on a similar project:  this project has two functions: a wrapper for Icewarp API to create/update email accounts.
3k line of codes, near 10 layers of interface. Indeed, it is "SOLID" :)

Tuesday, January 20, 2015

TDD Is About Design, Not Testing

"Writing tests after writing code is a corruption of TDD"
"The act of writing a unit test is more an act of design than of verification."
http://www.drdobbs.com/tdd-is-about-design-not-testing/229218691

TDD is a way to design software? or a way to verify/refine design? or both?

Thursday, January 15, 2015

How to solve problem: Installed Windows service by installutil not showing up in MMC services windows

Although installutil tells you everything is fine, the new service will not show up in MMC services windows.
Solution: use sc
sc create servicename binPath= servicebin.exe