国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

程序員應(yīng)當(dāng)遵守的編程原則

發(fā)布時(shí)間:2011-8-18 15:05    發(fā)布者:Liming
關(guān)鍵詞: 編程原則 , 程序員
好的編程原則跟好的系統(tǒng)設(shè)計(jì)原則和技術(shù)實(shí)施原則有著密切的聯(lián)系。下面的這些編程原則在過(guò)去的這些年里讓我成為了一名優(yōu)秀的程序員,我相信,這些原則對(duì)任何一個(gè)開(kāi)發(fā)人員來(lái)說(shuō),都能讓他的編程能力大幅度的提高,能讓他開(kāi)發(fā)出可維護(hù)性更強(qiáng)、缺陷更少的程序。

      我不要自我重復(fù) — 這也許是在編程開(kāi)發(fā)這最最基本的一個(gè)信條,就是要告訴你不要出現(xiàn)重復(fù)的代碼。我們很多的編程結(jié)構(gòu)之所以存在,就是為了幫助我們消除重復(fù)(例如,循環(huán)語(yǔ)句, 函數(shù),類(lèi),等等)。一旦程序里開(kāi)始有重復(fù)現(xiàn)象的出現(xiàn)(例如很長(zhǎng)的表達(dá)式、一大堆的語(yǔ)句,但都是為了表達(dá)相同的概念),你就需要對(duì)代碼進(jìn)行一次新的提煉,抽 象。

  http://en.wikipedia.org/wiki/Don%27t_repeat_yourself

  提煉原則 — 跟“不要自我重復(fù)原則”相關(guān),這一原則是說(shuō)“程序中任何一段具有功能性的代碼在源代碼文件中應(yīng)該唯一的存在。”

  http://en.wikipedia.org/wiki/Abstraction_principle_(programming)

  保持簡(jiǎn)單 — 簡(jiǎn)單化(避免復(fù)雜)永遠(yuǎn)都應(yīng)該是你的頭等目標(biāo)。簡(jiǎn)單的程序讓你寫(xiě)起來(lái)容易,產(chǎn)生的bug更少,更容易維護(hù)修改。

  http://en.wikipedia.org/wiki/KISS_principle

  不要開(kāi)發(fā)你目前用不到的功能 — 除非你真正需要用到它,否則不要輕易加上那些亂七八糟用不到的功能。

  http://en.wikipedia.org/wiki/YAGNI

  用最簡(jiǎn)單的方法讓程序跑起來(lái) — 在開(kāi)發(fā)時(shí)有個(gè)非常好的問(wèn)題你需要問(wèn)問(wèn)自己,“怎樣才能最簡(jiǎn)單的讓程序跑起來(lái)?”這能幫助我們?cè)谠O(shè)計(jì)時(shí)讓程序保持簡(jiǎn)單。

  http://c2.com/xp/DoTheSimplestThingThatCouldPossiblyWork.html

  不要讓我動(dòng)腦子 — 這實(shí)際上是Steve Krug 關(guān)于web界面操作的一本書(shū)的書(shū)名,但也適用于編程。主旨是,程序代碼應(yīng)該讓人們花最小的努力就能讀懂和理解。如果一段程序?qū)τ陂喿x者來(lái)說(shuō)需要花費(fèi)太多的努力才能理解,那它很可能需要進(jìn)一步簡(jiǎn)化。

  http://www.sensible.com/dmmt.html

  開(kāi)放/封閉原則 — 程序里的實(shí)體項(xiàng)(類(lèi),模塊,函數(shù)等)應(yīng)該對(duì)擴(kuò)展行為開(kāi)放,對(duì)修改行為關(guān)閉。換句話(huà)說(shuō),不要寫(xiě)允許別人修改的類(lèi),應(yīng)該寫(xiě)能讓人們擴(kuò)展的類(lèi)。

  http://en.wikipedia.org/wiki/Open_Closed_Principle

  為維護(hù)者寫(xiě)程序 — 任何值得你編寫(xiě)的程序在將來(lái)都是值得你去維護(hù)的,也許由你維護(hù),也許由他人。在將來(lái),當(dāng)你不得不維護(hù)這些程序時(shí),你對(duì)這些代碼的記憶會(huì)基本上跟一個(gè)陌生人 一樣,所以,你最好還是當(dāng)成一直在給別人寫(xiě)程序。一個(gè)有助于你記住這個(gè)原則的辦法是“寫(xiě)程序時(shí)時(shí)刻記著,這個(gè)將來(lái)要維護(hù)你寫(xiě)的程序的人是一個(gè)有嚴(yán)重暴力傾 向,并且知道你住在哪里的精神變態(tài)者”。

  http://c2.com/cgi/wiki?CodeForTheMaintainer

  最少意外原則 — 最少意外原則通常是使用在用戶(hù)界面設(shè)計(jì)上,但這個(gè)原則同樣適用于編寫(xiě)程序。程序代碼應(yīng)盡可能的不要讓閱讀者感到意外。也就是說(shuō)應(yīng)該遵循編碼規(guī)范和常見(jiàn)習(xí)慣,按照公認(rèn)的習(xí)慣方式進(jìn)行組織和命名,不符常規(guī)的編程動(dòng)作應(yīng)該盡可能的避免。

  http://en.wikipedia.org/wiki/Principle_of_least_astonishment

  單一職責(zé)原則 — 一個(gè)代碼組件(例如類(lèi)或函數(shù))應(yīng)該只執(zhí)行單一的預(yù)設(shè)的任務(wù)。

  http://en.wikipedia.org/wiki/Single_responsibility_principle

  最小化耦合關(guān)系 — 一個(gè)代碼片段(代碼塊,函數(shù),類(lèi)等)應(yīng)該最小化它對(duì)其它代碼的依賴(lài)。這個(gè)目標(biāo)通過(guò)盡可能少的使用共享變量來(lái)實(shí)現(xiàn)。“低耦合是一個(gè)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)合理、設(shè)計(jì)優(yōu)秀的標(biāo)志,把它與高聚合特征聯(lián)合起來(lái),會(huì)對(duì)可讀性和可維護(hù)性等重要目標(biāo)的實(shí)現(xiàn)具有重要的意義。”

  http://en.wikipedia.org/wiki/Coupling_(computer_programming)

  最大化內(nèi)聚性 — 具有相似功能的代碼應(yīng)該放在同一個(gè)代碼組件里。

  http://en.wikipedia.org/wiki/Cohesion_(computer_science)

  隱藏實(shí)現(xiàn)細(xì)節(jié) — 隱藏實(shí)現(xiàn)細(xì)節(jié)能最小化你在修改程序組件時(shí)產(chǎn)生的對(duì)那些使用這個(gè)組件的其它程序模塊的影響。

  http://en.wikipedia.org/wiki/Information_Hiding

  笛米特法則(Law of Demeter) — 程序組件應(yīng)該只跟它的直系親屬有關(guān)系(例如繼承類(lèi),內(nèi)包含的對(duì)象,通過(guò)參數(shù)入口傳入的對(duì)象等。)

  http://en.wikipedia.org/wiki/Law_of_Demeter

  避免過(guò)早優(yōu)化 — 只有當(dāng)你的程序沒(méi)有其它問(wèn)題,只是比你預(yù)期的要慢時(shí),你才能去考慮優(yōu)化工作。只有當(dāng)其它工作都做完后,你才能考慮優(yōu)化問(wèn)題,而且你只應(yīng)該依據(jù)經(jīng)驗(yàn)做法來(lái)優(yōu) 化。“對(duì)于小幅度的性能改進(jìn)都不該考慮,要優(yōu)化就應(yīng)該是97%的性能提升:過(guò)早優(yōu)化是一切罪惡的根源”—Donald Knuth。

  http://en.wikipedia.org/wiki/Program_optimization

  代碼復(fù)用 — 這不是非常核心的原則,但它跟其它原則一樣非常有價(jià)值。代碼復(fù)用能提高程序的可靠性,節(jié)省你的開(kāi)發(fā)時(shí)間。

  http://en.wikipedia.org/wiki/Code_reuse

  職責(zé)分離 — 不同領(lǐng)域的功能應(yīng)該由完全不同的代碼模塊來(lái)管理,盡量減少這樣的模塊之間的重疊。http://en.wikipedia.org/wiki/Separation_of_concerns

  擁抱變化 — 這是Kent Beck的一本書(shū)的副標(biāo)題,它也是極限編程和敏捷開(kāi)發(fā)方法的基本信條之一。很多的其它原則都基于此觀念:面對(duì)變化,歡迎變化。事實(shí)上,一些經(jīng)典的軟件工程 原則,例如最小化耦合,就是為了讓程序更容易面對(duì)變化。不論你是否采用了極限編程方法,這個(gè)原則對(duì)你的程序開(kāi)發(fā)都有重要意義。http://www.amazon.com/gp/product/0321278658
本文地址:http://www.qingdxww.cn/thread-73605-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
無(wú)怨無(wú)悔yyl 發(fā)表于 2011-8-20 11:18:43
謝謝分享
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠(chǎng)商推薦

  • Microchip視頻專(zhuān)區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點(diǎn)宏來(lái)節(jié)省時(shí)間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項(xiàng)目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進(jìn)行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專(zhuān)區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91app入口下载免费 | 贵州美女一级纯黄大片 | 久久精品国产99国产精品小说 | 五月天激情啪啪 | 国产成人免费观看 | 在线观看视频一区二区 | 久久久久久久久一级毛片 | 欧美激情一区二区三区不卡 | 一级日韩一级欧美 | 日狠狠| 久久亚洲国产成人影院 | 欧美日韩一二三四区 | 97在线视频免费观看 | 国产精品臀控福利在线观看 | 日韩欧美高清在线观看 | 天天操综合视频 | 精品国产一区二区三区久 | 亚洲人妖ts资源在线观看 | 69热在线观看 | 国产中字 | 日韩成人免费视频播放 | 国产福利在线观看永久视频 | 在线视频 二区 | 91系列在线观看 | 99精品免费在线 | 99re这里有免费视频精品 | 欧美视频一区二区 | 欧美黄色tv | 久久机热| avtt2015天堂网 | 黄片毛片免费在线观看 | 亚洲欧美激情在线 | 91亚洲国产成人久久精品网址 | 巨大挺进湿润黑人粗大视频 | 久久免费视频精品 | 国产另类在线观看 | 手机免费看黄色 | 成人欧美一区二区三区在线 | 亚洲国产成人精品久久 | 欧美影片一区二区三区 | 久久国产精品久久国产片 |