發(fā)布時間:2021-10-22 09:14:17
作者:微紅科技
閱讀次數(shù):6738
原則就是人們行為的基礎性準則,是具有一定持續(xù)性的規(guī)則
軟件開發(fā)也具有屬于自己的原則,為了提高軟件開發(fā)的質量
微紅科技的程序員在開發(fā)時,始終遵守著軟件這些界內原則
?
第一原則:存在的理由
一個軟件系統(tǒng)存在的理由就是:為它的用戶提供價值。你所有的決定都取決于這一點。在指定一個系統(tǒng)需求,在寫下一段系統(tǒng)功能,在決定硬件平臺和開發(fā)過程之前,問你自己一個問題,“這樣做會為系統(tǒng)增加價值嗎?“,如果答案是”yes”,做。如果是”No”,不做。這個原則是其他原則的原則。
?
?
第二原則(能簡單就簡單,愚蠢?。㎏ISS
軟件設計不是一個輕描淡寫的過程。在做任何一個設計時,你必須考慮很多因素。所有設計應當盡可能簡單,但是不要再比這簡單了。這樣產生的系統(tǒng)才是可以理解和容易維護的。這并不是說很多有意義的特性,因為這種簡單性也要被拋棄。確實很多更優(yōu)雅的設計往往更簡單,但簡單并不意味著“quick and dirty.”。事實上,簡單是通過許多思考和一次一次的反復修改才達到的。這些努力的匯報就是更容易維護,代碼錯誤更少。(看看是否違反)
第三原則:保持遠見
清晰的遠見是一個軟件項目成功的基礎。沒有這樣的遠見,項目開發(fā)最后就變成天天為一個不好的設計做補丁。Brooks說過:概念的完整性是系統(tǒng)設計中最重要的問題。Stroustrup也說:有一個干凈的內部結構是構建一個可理解、可辨識、可維護、可測試系統(tǒng)的基礎。Booch則總結道:只有當你對系統(tǒng)的體系有一個清晰的感覺,才可能去發(fā)現(xiàn)通用的抽象和機制。開發(fā)這種通用性最終導致系統(tǒng)更簡單,因此更小、更可靠。如果你不斷地復制、粘貼、修改代碼,最終你將陷入一個大泥潭(the Big Mud),你永遠不可能對系統(tǒng)有一個清晰的認識。
?
第四原則:你制造的,別人會消費
軟件系統(tǒng)不是在真空中使用的。其他人會使用、維護、文檔化你的系統(tǒng)。這依賴于對你系統(tǒng)的理解。所以,你設計、實現(xiàn)的東西應當能夠讓別人理解。要記住,你寫的代碼并非只給計算機看,你要時時記住,代碼還要給人看(Kent Beck)。如果到處泛濫似是而非的代碼,別人如何能夠辨別這些代碼的相似和不同,如何去理解這些代碼之間具有何種關系。
?
?
第五原則:對將來開放
一個成功的軟件有很長的生命期。你必須能夠使得軟件能夠適應這樣和那樣的變化。所以,一開始就不要將軟件設計到死角上去。請總是問一下自己“如果這樣,那么。。?“這個問題,你要考慮到各種各樣的可能性,而不光光是圖省事。復制,粘貼一下即可。
?
第六原則:為重用做好計劃
重用可節(jié)省時間和精力。實現(xiàn)高水平的重用可以說是開發(fā)軟件系統(tǒng)最難的目標。代碼和設計的重用已被宣稱為使用面向對象技術的主要優(yōu)勢。但是,這項投資的回報并不是自動的。為了利用面向對象編程提供的重用可能性,我們需要預先考慮和規(guī)劃。在系統(tǒng)開發(fā)過程的每個級別都有很多技術可以用來實現(xiàn)重用。詳細設計和代碼級別的重用技術不但眾所周知而且是有文檔的。
新的文獻正在以軟件模式的形式尋覓設計的重用。然而,這只是戰(zhàn)斗的一部分。與組織中的其他人交流重用的機會至關重要。如何重用你不知道的東西?提前規(guī)劃重用可降低成本并提高可重用組件及其所在系統(tǒng)的價值。
?
?
第七原則:思考!
在采取任何動作之前首先做一個清晰、完整的考慮,這樣才能產生更好的結果。如果你考慮了,但還是產生錯誤的結果,那么這種努力也是值得的。在你學習或研究類似的問題時,將更容易理解和掌握。
?
這些原則告訴我們輕松地復制、粘貼和修改代碼不可能產生好的,也就是容易理解、維護、重用的代碼。但請不要走極端。我一直認為,一個好的軟件系統(tǒng)是各種因素權衡的結果,也就是你如何把握一個度的問題,明確的思想進入到系統(tǒng),就會產出價值。應用前六個原則需要深入的思考,當然潛在的回報也是不可估量。
?
上一篇: 談SEO優(yōu)化理念之主題模型!
下一篇: 談SEO優(yōu)化理念之主題模型!
Copyright ? 微紅科技 All Rights Reserved