濟南軟件開(kāi)發(fā)之軟件開(kāi)發(fā)原則

2015-09-16 09:25:29
    重複代碼的産生由各種(zhǒng)各樣(yàng)的原因,經(jīng)常看到程序員把幾行或一整段代碼從這(zhè)裡(lǐ)複制到這(zhè)裡(lǐ),然後(hòu)稍加修改,就(jiù)變成(chéng)了一份新的代碼。這(zhè)裡(lǐ)的原因是程序員可以通過(guò)極少的努力就(jiù)完成(chéng)代碼重用,但是我們可以來看看軟件開(kāi)發(fā)原則:
1、存在的理由
    一個軟件系統存在的理由就(jiù)是:爲它的用戶提供價值。你所有的決定都(dōu)取決于這(zhè)一點。在指定一個系統需求,在寫下一段系統功能(néng),在決定硬件平台和開(kāi)發(fā)過(guò)程之前,問你自己一個問題,“這(zhè)樣(yàng)做會(huì)爲系統增加價值嗎?“,如果答案是”yes”,那就(jiù)做。如果是”No”,那就(jiù)不做。這(zhè)個原則是其他原則的原則。 
2、能(néng)簡單就(jiù)簡單
    軟件設計不是一個輕描淡寫的過(guò)程。在做任何一個設計時,你必須考慮很多因素。所有設計應當盡可能(néng)簡單,但是不要再比這(zhè)簡單了。這(zhè)樣(yàng)産生的系統才是可以理解和容易維護的。這(zhè)并不是說很多由意義的特性,因爲這(zhè)種(zhǒng)簡單性也要被(bèi)抛棄。事(shì)實上,簡單是通過(guò)許多思考和一次一次的反複修改才達到的。這(zhè)些努力的彙報就(jiù)是更容易維護,代碼錯誤更少。
3、保持遠見
    清晰的遠見是一個軟件項目成(chéng)功的基礎。沒(méi)有這(zhè)樣(yàng)的遠見,項目開(kāi)發(fā)最後(hòu)就(jiù)變成(chéng)天天爲一個不好(hǎo)的設計做補丁。概念的完整性是系統設計中最重要的問題。隻有當你對(duì)系統的體系由一個清晰的感覺,才可能(néng)去發(fā)現通用的抽象和機制。開(kāi)發(fā)這(zhè)種(zhǒng)通用性最終導緻系統更簡單,因此更小,更可靠。如果你不斷地複制、粘貼、修改代碼,最終你將(jiāng)陷入一個大泥潭,你永遠不可能(néng)對(duì)系統有一個清晰的認識。 
4、你制造的,别人會(huì)消費
    軟件系統不是在真空中使用的。其他人會(huì)使用、維護、文檔你的系統。這(zhè)依賴于對(duì)你系統的理解。所以,你設計、實現的東西應當能(néng)夠讓别人理解。要記住,你寫的代碼并非隻給計算機看,你要時時記住,代碼還(hái)要給人看。
    如果到處泛濫似是而非的代碼,别人如何能(néng)夠辨别這(zhè)些代碼的相似和不同,如何去理解這(zhè)些代碼之間具有何種(zhǒng)關系。 
5、對(duì)將(jiāng)來開(kāi)放
    一個成(chéng)功的軟件有很長(cháng)的生命期。你必須能(néng)夠使得軟件能(néng)夠适應這(zhè)樣(yàng)和那樣(yàng)的變化。所以,一開(kāi)始就(jiù)不要軟件設計到死角上去。這(zhè)個問題,你要考慮到各種(zhǒng)各樣(yàng)的可能(néng)性,而不光光是圖省事(shì)。複制,粘貼一下即可。 
6、爲重用做好(hǎo)計劃 
    軟件模式是重用計劃的一種(zhǒng)。不斷重複的代碼顯然不是這(zhè)樣(yàng)的計劃。 
7、思考 
    在采取任何動作之前首先做一個清晰、完整的考慮,這(zhè)樣(yàng)才能(néng)産生更好(hǎo)的結果。如果你考慮了,但還(hái)是産生錯誤的結果,那麼(me)這(zhè)種(zhǒng)努力也是值得的。在你學(xué)習或研究類似的問題時,更容易理解和掌握。 
    這(zhè)些原則告訴我們輕松地複制、粘貼和修改代碼不可能(néng)産生好(hǎo)的,也就(jiù)是容易理解、維護、重用的代碼。但請不要走極端。 
    一個好(hǎo)的軟件系統是各種(zhǒng)因素權衡的結果,也就(jiù)是你如何把握一個度的問題。重複代碼産生的另外一個主要原因就(jiù)是做得太多。如果你去實現你現在認爲將(jiāng)來需要的東西,不一定就(jiù)是你以後(hòu)真正需要的東西。你處于現在的環境中可能(néng)無法理解你要實現東西究竟是什麼(me)樣(yàng)子的。你會(huì)浪費大量的時間去構造這(zhè)樣(yàng)不知道(dào)是否必須的可能(néng)性。同時,當你真正實現的時候就(jiù)可能(néng)産生重複代碼。