in reply to Test Driven Development example + design question

I do not listen to purists or academics who use words like, "valid." I observe the existence of familiar patterns of software-design but do not begin my work by "selecting a design pattern." I want to design code such that it can be tested throughout its construction, but I don't look to anyone's textbook or seminar to validate what I know they're referring to when they say, "test-driven development."

Frankly, what you are saying is complicated. So complicated that I don't understand it, and so complicated that I daresay you don't understand it either. Complexity is your mortal enemy: complexity of your code, yes, but also complexity of your thoughts. You have a target over there; one of several. You have to choose the best one, locate it precisely, and hit it square. That's it. That's all. It seems to me that you have "thinked yourself" into immobility.
  • Comment on Re: Test Driven Development example + design question

Replies are listed 'Best First'.
Re^2: Test Driven Development example + design question
by mascip (Pilgrim) on Jul 03, 2012 at 08:19 UTC

    "Thinked myself into immobility"
    I agree.

    "I observe the existence of familiar patterns of software-design but do not begin my work by "selecting a design pattern." "
    I agree too, this is how things should be done. But it's also very teachful to me, to understand other peolpe's experiences and concepts.

    Let me illustrate this with music: the important is to play something that you like, and you don't need to learn any theory to do that. But learning about music theory will transform the way that you listen to music, the way that you play it, and give you an accurate vocabulary to conceptualize it and speak about it. It will also enable you to play with other people more easily, and to share your experience with them with more accurate words. They are not the only "valid" words, nor is tonal music theory the only valid musical theory. But they are used enough so that people who use them can communicate accurately. And listen more accurately, in a way. Identifying and naming patterns trains the hear. And the fingers.

    I guess, there is not "one way" to do things properly. But it's teachful to try and follow a method rigorously and with dedication. To then develop you own ways around it, change it, etc.

    I used to never want to look at a programming book "i can figure it all out by myself". Now, maybe i'm a bit too much into books. But it's interesting !

    Hopefully, through programming more and reading less, i will stop "thinking myself into immobility". But this thinking process feels very rewarding. Even if i get stuck into immobility here and there (^c^).

    My problem here was not about TDD but about design, so i ordered a book about design. It will not help me "pick the right design among the valid ones", but rather "make me travel" through possible designs, think about them. It feels like good training. But it involves lots of reading and "being stuck in concepts", at first.

    I guess my message feels defensive. It guess it is, in a way. But I agree with what you are saying.

    PS : different people, different ways of learning