實現精益軟體的六大軟體開發辦法-匯新雲平臺
今天與十年前類似的功能軟體相比,我們今天開發的軟體很大,執行任何現代軟體所需的記憶體和資源都非常高,增強的使用者體驗和功能只是增加的大小的一部分,原因還有更多。
所有現代設計模式、程式碼架構等都是教會我們如何應對這種複雜性,而不可能從根本上消滅它。
兩條法則非常準確地反映了現在 ofollow,noindex">軟體開發 的狀態:
1.?記憶體越來愈大,軟體擴充套件了才能填充可用記憶體。
2.?硬體卻變得越來越快,但是軟體變得慢更多。
簡化軟體的方法在於用訓練有素的方法將其返回本質。
“FAT軟體”的原因
導致複雜性的一個主要原因是軟體擁有的功能太多,這些不一定都是使用時所必需的功能,我們不斷新增新功能和擴充套件,並且與原始系統的任何不相容性將被忽略或傳遞無法識別。
當系統的強大到通過功能數量來衡量時,?數量變得比質量更重要?,每個新版本都必須新增功能,即使它真的不需要新增任何功能。
1.所有功能,所有時間
軟體的單體設計是使軟體複雜化的主要原因之一,每個可以想象得到的功能都是系統設計的一部分,隨著時間的推移,大多數功能都變得無關緊要,但會繼續對系統產生影響。
2.對某些人來說,複雜性就是力量。
去除一些不必要的靈活性並使事情標準化以降低複雜性和提高可維護性時,PM當時的反應至今記憶猶新。
不可理解性應引起人們的懷疑,而不是欽佩。
3.沒有足夠的時間
時間壓力是笨重軟體的首要原因。我們沒有足夠的時間從程式碼中刪除已棄用的功能並改進我們認為可接受的解決方案。
六種辦法幫助保持軟體“精益”
1.?強型別語言
使用強型別語言有助於以更簡單的方式設計複雜系統,它允許編譯器精確定位錯誤和介面,並且可以更自信地使用和更改抽象。
2.找到適當的分解
系統應該被分解成模組,模組應該被分解成元件,元件應該有單一的責任,整個系統應該在層次結構中進行分解,同時最小化複雜性並且去除重複程式碼。
3.可擴充套件性
可擴充套件性是保持系統從一開始就簡化的先決條件。它還允許定製系統以適應新的更改和刪除已棄用的擴充套件。
4.永遠不應該構建複雜的軟體
認為複雜系統需要設計師和程式員的紀律是不正確的,完全無法理解的系統,至少在單個個體的重要程度上,應該永遠不會建立起來。
5.溝通是關鍵
隨著時間的增長,溝通問題變得占主導地位,複雜的團隊結構促成複雜的軟體。
6.降低複雜性應該是目標
降低軟體的複雜性和規模應該是每個開發步驟的目標,在系統規範中,對於詳細的程式設計設計?-?每個步驟都必須有意地消除系統中任何不必要的複雜性。(138-2882-1502微電同號)
匯新雲 —全球專業的軟體採購、定製產業鏈服務平臺。

致力打造專業的IT協同產業鏈平臺,採用共享經濟的理念和智慧匹配的模式,利用全球IT資源,建立軟體服務生態圈,實現軟體線上研發、軟體線上交易、軟體供應鏈服務,解決商業模式創新、軟體工程化設計、軟體研發、測試、產業投資等需求,打造全球專業的 軟體採購 、 軟體定製 、 軟體開發 產業鏈服務平臺。