测试文件应该放哪里?

最近在读Kent Beck的《测试驱动开发》,这也是Michael Feathers在《修改代码的艺术》一书中推荐的重构方式。初时觉得文中的Test Driven Developing (TDD)的方式显得十分繁琐,每次新建测试然后再编写类的实现也让人觉得本末倒置,颇有“代码未动,测试先行”的味道。但重新再读一次时感觉思路清晰了不少,也理解先写测试更多的是从应用的角度来设计。其实编写代码和测试的习惯可以因人而异,先写代码还是先写测试或许应该可以根据个人喜爱而安,毕竟无论是代码还是测试都会随着开发的进展而不断迭代的。

阅读更多 »

代码风格的变革

呵呵,当次标题党。题目起得大些,但还是从近期遇到的小事讲起。

其一,到本部考自然辩证法的时候顺便到图书馆借了两本书,一本是《软件架构艺术》,另一本是《代码整洁之道》。前者从大处着眼,后者于细节入手,倒也钩心斗角,相应成趣。近日静心看了《代码整洁之道》的前几章,感觉大部分概念以前虽然都有接触,但贯彻得不是很彻底,现在看到这样系统地描述代码风格的书籍,收获不小。

其二,前阵子参加了Google Code Jam 2010竞赛,无奈技不如人,Round 1没闯过去。以前参加ACM时代码都是单纯过程式的一路写下来,就算用Java等面向对象的语言亦是如此,还窃以为这是搞算法的ACMer的通病。后来参考了竞赛Top 10的牛人的solution代码,大多都清晰明了漂亮简洁,着实让人望尘莫及。

阅读更多 »