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