第四章:“注重實效的偏執”&&第五章的一部分
“你不可能寫出完美的軟體”這句話對嗎?
按合約設計:
1、前條件:為例呼叫例程,必須為真的條件,例程的需求,在其前提條件被違反時,絕對不可以被呼叫,傳遞好資料是呼叫者的責任,
2、后條件:例程保證會做的事,例程完成世界的狀態,例程是可結束的,例程應杜絕無限回圈,
3、類不變項:類在呼叫者角度來看,該條件必需為真,在例程內部清理時,不變項不一定會保持,但在例程回傳到呼叫者時,不變項必須為真,
要崩潰,不要破壞:
這點感覺特別好,在發現程式例外時,終止程式并告訴開發者錯在哪里,既防止了程式失控,又告知原因所在,java的例外類便是繼承如此,如果它不可能發生,用斷言確保它不發生,
1.解耦與得墨忒耳法則:好籬笆促成好鄰居,函式的得墨忒耳法則視圖使任何給定程式中的模塊之間的耦合減至最少,越耦合程式依賴性就越低,這對于開發來說是極其重要的,
2.時間是軟體架構的一個常常被忽視的方面,時間有兩個方面對我們很重要:并發(即事情在同一時間發生)和次序(即事情在時間中的相對位置)我們需要容許多并發,并考慮解除任何時間或次序上的依賴,這樣程式才算是健壯,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/2069.html
標籤:其他
下一篇:再見2019,你好2020!
