每過一段時間,我都能讀到一些好東西,它是如此的深刻見解,寫的如此的清晰,如此的條理,我必須把它收錄進我的個人「史上最佳」聖物集裡。最近,我新收錄了一篇,非常棒的一篇叫做《best practices for scientific computing》的文章,我希望每個來讀本文的讀者都找個時間讀讀它。我在這裡列出它的要點,是要鼓勵你去閱讀完整的全文。寫的真是非常好。
給人寫程式,而不是給計算機。
命名需要一貫、明確、有意義
**風格和格式要統一一致
軟體開發中的各種工作都要分割成1小時左右的任務
重複性的工作自動化。
讓計算機去做重複性的工作
把最近使用過的命令存到乙個檔案裡,以備復用
使用編譯工具來自動化系統流程
用計算機做歷史記錄
用軟體工具來自動跟蹤計算機的工作
逐步改進。
每次做一小步,及時獲得反饋,及時糾正
使用版本控制。
使用乙個版本控制系統
所有由手工建立的東西都要放到版本控制系統裡
不要重複自己(或他人)。
系統中的每一段資料都要有乙個權威的單一的存在
**應該模組化復用,而不是考來粘去
復用**,而不是重寫**
準備好對付錯誤的方法
在程式中增加斷言,檢查它們的各種操作
使用現成的單元測試框架
測試程式時借鑑所有的可用的經驗
把bug做成測試用例
使用乙個有**指令的除錯工具
只在軟體能正確的工作後才可優化。
使用監控工具找到瓶頸
盡可能的用高階語言寫程式
文件裡描述的應該是設計思路和目的,而不是技術細節。
描述介面和原因,而不是實現
重構**,而不是注釋解釋執行原理
引用其它程式時嵌入其它程式的文件
協作 **合併前進行**審查
當幫帶新成員或解決特別詭異的問題時使用結對程式設計
我要額外提到的是這個:
11. 維新舊**。
如果你還在猶豫不決是否去看那篇文章,那你先去看看它裡面列出的引用67部關於計算機的著作和文章。正如我說的,這篇文章是「史上最佳」。
[英文原文:
best best practices ever ]
史上最最佳軟體開發實踐指導
給人寫程式,而不是給計算機。乙個程式,對於閱讀它的人來說,不應該要求讀者一次性的在大腦裡載入過多的背景 相關知識。命名需要一貫 明確 有意義 風格和格式要統一一致 軟體開發中的各種工作都要分割成1小時左右的任務 重複性的工作自動化。讓計算機去做重複性的工作 把最近使用過的命令存到乙個檔案裡,以備復用...
史上最最佳軟體開發實踐指導
英文原文 best best practices ever 每過一段時間,我都能讀到一些好東西,它是如此的深刻見解,寫的如此的清晰,如此的條理,我必須把它收錄進我的個人 史上最佳 聖物集裡。最近,我新收錄了一篇,非常棒的一篇叫做 best practices for scientific compu...
軟體開發中的10條最佳指導原則
1.遵循單一職責原則函式是程式設計師的工具中最重要的抽象形式。它們能更多地被重複使用,你需要編寫的 就越少,也因此變得更可靠。較小的函式遵循單一職責原則更有可能被重複使用。2.儘量減少共享狀態 你應該儘量減少函式之間的隱式共享狀態,無論它是檔案作用域的變數還是物件的成員字段,這有利於明確要求把值作為...