本文发表在 rolia.net 枫下论坛俺前面说过,照俺的知识篇做,能抵一年经验。知识(A)抵三个月,知识(B)抵六个月,还差三个月。有一本书,叫《Test Driven Development: By Example》。读完这本书,你就有了剩下的那三个月。
之所以把这本书单独列出来,是因为 test driven 这个理念很重要。软件的一个巨大特征,就是一个软字。因为软,所以可以多变,而且做软件也确实是多变。一个程序,从想法到产品,要经过无数次修改。即使成了产品,新的东西也会源源不断地被加进去,所以变还是必然的。只有充分的领会到这个多变性,才能真正领会很多做法的重要性,包括 test driven development。
我做过很多地方,同事都是经验丰富的码工,但是真正遵循 test driven 的地方,基本上是没有。大部分地方,上一个新 feature 是很痛苦很危险的事,要花很多时间测试,即便如此,出错也是很常有的事。
没有 test code,也是导致软件 complexity 的一个重要原因。因为没有 test code,很多应该改变的代码没有被改,因为怕牵一发而动全身。久而久之,这种不合理的代码就越来越多,程序就越来越复杂。
俺觉得,如果你能领会书里的精神,能照书里说的做,你比大部分做了三年五年混饭吃的码工都强。xml 老兄质问,你为什么老是要跟混饭吃的比?因为俺的经验是,大部分人都是混饭吃的。如果你有天资,又有 passion,却混不到一碗像样的饭,俺窃以为不公平。
这就是俺乐此不疲写这些文章的原因。更多精彩文章及讨论,请光临枫下论坛 rolia.net
之所以把这本书单独列出来,是因为 test driven 这个理念很重要。软件的一个巨大特征,就是一个软字。因为软,所以可以多变,而且做软件也确实是多变。一个程序,从想法到产品,要经过无数次修改。即使成了产品,新的东西也会源源不断地被加进去,所以变还是必然的。只有充分的领会到这个多变性,才能真正领会很多做法的重要性,包括 test driven development。
我做过很多地方,同事都是经验丰富的码工,但是真正遵循 test driven 的地方,基本上是没有。大部分地方,上一个新 feature 是很痛苦很危险的事,要花很多时间测试,即便如此,出错也是很常有的事。
没有 test code,也是导致软件 complexity 的一个重要原因。因为没有 test code,很多应该改变的代码没有被改,因为怕牵一发而动全身。久而久之,这种不合理的代码就越来越多,程序就越来越复杂。
俺觉得,如果你能领会书里的精神,能照书里说的做,你比大部分做了三年五年混饭吃的码工都强。xml 老兄质问,你为什么老是要跟混饭吃的比?因为俺的经验是,大部分人都是混饭吃的。如果你有天资,又有 passion,却混不到一碗像样的饭,俺窃以为不公平。
这就是俺乐此不疲写这些文章的原因。更多精彩文章及讨论,请光临枫下论坛 rolia.net