天天看點

通過簡單原理增強軟體可靠性

簡單原理,就是字面的意思,系統越簡單越好。複雜問題簡單化,很難;簡單問題複雜化,很容易。

簡化問題至少有如下方法:借用、取舍、拆分、分類、分工、模式與學習、規範 。

借用是站在巨人的肩上。“欲窮千裡目,更上一層樓”。遇到問題,先不急着動手,先思考、查閱記錄,看以前是否遇到相同或接近的問題,直接複用或借鑒。以前,我和500年接到一個流程圖的小項目,500年奮戰幾天沒能解決,半年後發現BCG有現成的功能。如果沒有可複用或借鑒,查閱團隊文檔和第三方文檔。

取舍。抓住主要沖突,忽略次要沖突。常見反例:某程式員鏖戰幾周,讓某個子產品性能提升200%,但此子產品不是瓶頸子產品,是以整個系統的性能沒有提升。

拆分。好處有二:部分拆分後的子任務,可以直接借鑒,這将大幅降低成本。二,複雜度大幅降低。忽略子產品間的通信,1個500行的子產品比5個100行的子產品複雜得多。

分工。讓每位員工遇到同類問題的幾率大幅升高,多次遇到的問題簡單得多。