软件工程的意义
世界上有 10 種程序員。一種是遵守軟件工程開發規則的,我們稱之為工程師;一種是不遵守軟件工程開發規則的,我們稱之為碼農。
軟件工程,是為了讓程序員能夠更好地寫代碼、寫出更好地代碼。這兩個好,都有多層次的含義,但本質上,都是在長期的跨度內,減少程序員的工作量并提高代碼質量。
然而,世事總是不隨人愿:長期跨度內的好,往往和短期利益會存在沖突。這也就是「短視」或者「目光短淺」的由來。在軟件工程中,「寫注釋」、「保持良好的命名習慣」、「單元測試」、「設計思想」、「總結分析」、「時間記錄」,這些是無數前輩總結出來的強而有效的工具。但是,從短期效果來看,使用這些工具(或者進行這些練習),無疑是耗費時間的——只要寫出代碼來就好了,誰管那么多事?
對此,我的解釋和鄒欣老師書中的解釋一致:軟件開發,是一個長期的、不斷變化迭代的過程,而不是一個短期的、一錘子買賣的活動。既然如此,已經明確了軟件開發不是一個短期活動,那么為了短期利益,放棄長遠打算,顯然是不明智的。
在作業中,軟件工程的教師基本都會強調:要好好寫注釋,變量和函數命名要有意義,單元測試要隨代碼一起迭代修改,動手之前要先明確設計思想,動手之后要做總結分析、要寫時間記錄。然而,堅持做到這些的學生往往寥寥,在做到的學生里也有不少敷衍了事。
那么,「明智的你」應該已經知道如何將這對引號(←)去掉了,對嗎?
另附鄒欣老師對于這個問題的看法:https://www.zhihu.com/question/41338706/answer/91067000
轉載于:https://www.cnblogs.com/ChenMeng0518/p/5460435.html
總結
- 上一篇: Android 网络交互之MD5为什么要
- 下一篇: android—资源文件(res)的引用