標籤:

軟體開發的誤區

  • 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):老鼠賽跑驅動的開發
    • 危害:適用於專家,是指那些整個職業生涯都在原地打轉的開發模式。
    • 解決:在公司里換不同的團隊,或者,跳槽去更有挑戰的公司

認識錯誤,才能更好的認識真理。以下圖共勉。

參考文獻:你要避免的軟體開發模式

本文圖片:程序員必知的七個圖形工具 · Issue #18 · phodal/articles

推薦閱讀:

10 個技巧促使你的 Git 的技能上一個台階
MDF,了解一下
輕鬆理解UML用例圖時序圖類圖的教程
The world at your fingertips — 天涯明月刀幕後12(新的旅程)
一個業務員的吐槽

TAG:軟體開發 |