- IDD(IDE-Driven Development):面向IDE开发
危害:屏蔽了很多基础的技术细节
解决:学会任意一个 shell 下的编辑器 - DDD(Debugger-Driven Development):面向Debugger开发
危害:依赖断点,发现一个问题,解决一个问题,也有可能带来新的问题。这使得工程师懒于思考,懒于设计,把大量时间花在调试上,可谓本末倒置。
解决:多花时间思考和设计,使用 TDD(Test Driven Development),如果非要追踪状态,合理地使用日志(log)而非断点 - PDD(Print-Driven Development):面向打印的开发
危害:与前者类似,头疼医头,脚疼医脚,遇到问题不去思考设计上的缺陷,而是不断细化打印。
解决:多花时间思考和设计,合理地使用深思熟虑过的日志(log)而非用完即扔的打印信息 - BDD(Bug-Driven Development):面向bug的开发
危害:适用于业务稳定的公司里的『高级程序员』。BDD 开发者的视野往往很窄,所学所用皆局限于已有的系统,由于系统并非自己所写,阅读代码又是就着问题去追根溯源,所以对系统的理解会比较狭窄。
解决:自己主导一个项目的开发,或者,跳槽 - RDD(Rat-race-game-Driven Development):老鼠赛跑驱动的开发
危害:适用于专家,是指那些整个职业生涯都在原地打转的开发模式。
解决:在公司里换不同的团队,或者,跳槽去更有挑战的公司
认识错误,才能更好的认识真理。以下图共勉。
参考文献:你要避免的软件开发模式