成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員應該遵守的編程原則

開發(fā) 后端
好的編程原則跟好的系統(tǒng)設計原則和技術實施原則有著密切的聯(lián)系。下面的這些編程原則在過去的這些年里讓我成為了一名優(yōu)秀的程序員,我相信,這些原則對任何一個開發(fā)人員來說,都能讓他的編程能力大幅度的提高,能讓他開發(fā)出可維護性更強、缺陷更少的程序。

好的編程原則跟好的系統(tǒng)設計原則和技術實施原則有著密切的聯(lián)系。下面的這些編程原則在過去的這些年里讓我成為了一名優(yōu)秀的程序員,我相信,這些原則對任何一個開發(fā)人員來說,都能讓他的編程能力大幅度的提高,能讓他開發(fā)出可維護性更強、缺陷更少的程序。

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

提煉原則——跟“不要自我重復原則”相關,這一原則是說“程序中任何一段具有功能性的代碼在源代碼文件中應該唯一的存在。”

保持簡單——簡單化(避免復雜)永遠都應該是你的頭等目標。簡單的程序讓你寫起來容易,產(chǎn)生的bug更少,更容易維護修改。

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

用最簡單的方法讓程序跑起來——在開發(fā)時有個非常好的問題你需要問問自己,“怎樣才能最簡單的讓程序跑起來?”這能幫助我們在設計時讓程序保持簡單。

不要讓我動腦子——這實際上是Steve Krug 關于web界面操作的一本書的書名,但也適用于編程。主旨是,程序代碼應該讓人們花最小的努力就能讀懂和理解。如果一段程序對于閱讀者來說需要花費太多的努力才能理解,那它很可能需要進一步簡化。

開放/封閉原則——程序里的實體項(類,模塊,函數(shù)等)應該對擴展行為開放,對修改行為關閉。換句話說,不要寫允許別人修改的類,應該寫能讓人們擴展的類。

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

最少意外原則——最少意外原則通常是使用在用戶界面設計上,但這個原則同樣適用于編寫程序。程序代碼應盡可能的不要讓閱讀者感到意外。也就是說應該遵循編碼規(guī)范和常見習慣,按照公認的習慣方式進行組織和命名,不符常規(guī)的編程動作應該盡可能的避免。

單一職責原則——一個代碼組件(例如類或函數(shù))應該只執(zhí)行單一的預設的任務。

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

***化內聚性——具有相似功能的代碼應該放在同一個代碼組件里。

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

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

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

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

職責分離——不同領域的功能應該由完全不同的代碼模塊來管理,盡量減少這樣的模塊之間的重疊。

擁抱變化——這是Kent Beck的一本書的副標題,它也是極限編程和敏捷開發(fā)方法的基本信條之一。很多的其它原則都基于此觀念:面對變化,歡迎變化。事實上,一些經(jīng)典的軟件工程 原則,例如最小化耦合,就是為了讓程序更容易面對變化。不論你是否采用了極限編程方法,這個原則對你的程序開發(fā)都有重要意義。

責任編輯:張偉 來源: 慧都控件網(wǎng)
相關推薦

2020-05-18 12:43:19

代碼程序員開發(fā)

2024-04-03 12:14:15

微服務架構監(jiān)控

2021-10-26 16:25:25

編程語言JavaPython

2014-07-16 09:34:44

2012-03-13 09:24:30

Java

2015-04-23 15:37:24

程序員優(yōu)秀編程風格

2009-03-13 15:18:45

程序員飲食雜談

2016-04-11 17:49:33

程序員外包

2017-12-19 20:35:22

程序員中興事件自殺

2021-10-20 06:05:01

編程語言開發(fā)

2013-04-01 15:51:09

程序員管理

2013-04-19 10:44:05

程序員禪道

2012-06-15 09:54:58

程序員編程開發(fā)

2010-01-19 09:14:46

.NET編碼習慣

2020-04-06 12:31:25

編程程序員代碼

2015-08-11 09:20:51

初級程序員Linux命令

2021-03-02 15:31:37

程序員技能開發(fā)者

2010-12-13 14:37:36

.NET開發(fā)

2012-08-30 10:05:40

編程編程語言程序員

2009-06-19 14:38:20

Java程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩久久精品 | 国产在线一区二区三区 | 综合国产在线 | 国产aa| 国产亚洲一区二区三区在线观看 | 国产高清美女一级a毛片久久w | 久久亚洲精品久久国产一区二区 | 黄色片在线观看网址 | 嫩草视频网站 | 国产美女自拍视频 | 天堂一区在线 | 一呦二呦三呦国产精品 | 亚洲视频在线看 | 国产目拍亚洲精品99久久精品 | 懂色av色香蕉一区二区蜜桃 | 久久综合久色欧美综合狠狠 | 免费的色网站 | 一区二区三区在线 | 欧美一级二级在线观看 | 亚洲精品久久久久久首妖 | 亚洲一区二区视频在线播放 | 久久伊人影院 | 欧美视频中文字幕 | 91短视频网址 | 国内自拍偷拍一区 | 日本精品免费 | 春色av| 91人人视频在线观看 | 日韩1区| 久久久久久中文字幕 | 欧美日韩中文在线 | 黑人一级片视频 | 久久精品国产一区 | av天天干| 看av网 | 国产精品久久 | 久久精品无码一区二区三区 | 中文字幕一区二区三区在线视频 | 超碰超碰 | 日韩成人在线看 | 岛国毛片在线观看 |