自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員提升效率的十八大法則

開發(fā) 后端 前端
經(jīng)過多年的積累,我發(fā)現(xiàn),下面這些基本的指導(dǎo)法則,可以幫助我成為一個(gè)更加高效的程序員。

經(jīng)過多年的積累,我發(fā)現(xiàn),下面這些基本的指導(dǎo)法則,可以幫助我成為一個(gè)更加高效的程序員。

程序設(shè)計(jì)法則,與設(shè)計(jì)和工程的原理密切相關(guān)。下面這些編程法則幫助我讓我獲益匪淺,所以我想分享給大家,希望也能幫助大家更高效,生產(chǎn)出的代碼更容易維護(hù),并且bug和缺陷更少。

[[151577]]

DRY原則

不要重復(fù)(Don’t repeat yourself)——程序設(shè)計(jì)中一個(gè)最根本的原則就是要避免重復(fù)。許多編程結(jié)構(gòu)(比如循環(huán)、函數(shù)、類等)的存在就是為了避免重復(fù)。一旦重復(fù)(例如,一個(gè)長表達(dá)式,一系列語句,相同的概念)的話,就會(huì)創(chuàng)建一個(gè)新的抽象。

抽象原則

“每個(gè)在程序中有意義的功能片段應(yīng)該只在源代碼的一處地方實(shí)現(xiàn)。”

KISS(Keep it simple, stupid!)原則

簡單性(避免復(fù)雜性)應(yīng)該永遠(yuǎn)當(dāng)作是一個(gè)重要的目標(biāo)。寫簡單的代碼,不但花費(fèi)的時(shí)間少,錯(cuò)誤少,而且修改起來也容易。

避免創(chuàng)建YAGNI(You aren’t going to need it)原則

只有當(dāng)你需要的時(shí)候才去添加額外的功能,不需要就不要畫蛇添足。

方法要最簡單,效果要一樣好

在編程時(shí),我們需要問問自己:“有沒有最簡單的完成任務(wù)的途徑?”這有助于我們保持一直行走在簡約設(shè)計(jì)的道路上。

不要讓我思考

這實(shí)際上是由Steve Krug寫的一本書的書名。關(guān)鍵要點(diǎn)是,代碼應(yīng)該盡可能地易于閱讀和理解。如果閱讀人需要大量的思考才能理解代碼,那么或許這代碼還需要被簡化。

開/閉原則

軟件實(shí)體(類,模塊,函數(shù)等)在擴(kuò)展時(shí)應(yīng)該開放,在修改時(shí)應(yīng)該關(guān)閉。換句話說,你寫的類大家可以擴(kuò)展,但不能修改。

為維護(hù)者寫代碼

值得寫的代碼要保證將來一定值得維護(hù)。未來的你由于經(jīng)歷的代碼太多,也許再回過頭來看這些代碼的時(shí)候,也和其他人一樣,已經(jīng)成為了一個(gè)完全的陌生人。請記住,“寫代碼的時(shí)候,就假設(shè)將來要維護(hù)的人是個(gè)知道你住在哪里的暴力型精神病患者吧。”

最小驚訝原則

最小驚訝原則通常引用于用戶界面方面,但這一原則也適用于編寫代碼。代碼應(yīng)該盡可能地不要讓閱讀者驚訝。遵守標(biāo)準(zhǔn)約定,注釋說什么代碼就做什么,命名是什么意思代碼就是什么意思,盡可能地避免驚訝導(dǎo)致的潛在的負(fù)面影響。

單一職責(zé)原則

代碼(如類或函數(shù))的組成部分執(zhí)行的應(yīng)該是一個(gè)單一的明確的任務(wù)。

最小化耦合原則

代碼的任何部分(代碼塊,函數(shù),類等)都應(yīng)該盡量減少對(duì)其他代碼的依賴。這可以通過盡量不要使用共享變量來實(shí)現(xiàn)。“低耦合常常是計(jì)算機(jī)系統(tǒng)構(gòu)造良好和設(shè)計(jì)良好的標(biāo)志,并且當(dāng)和高內(nèi)聚力相結(jié)合的話,還可以大大支持高可讀性和可維護(hù)性的整體目標(biāo)。”

最大化內(nèi)聚原則

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

隱藏實(shí)現(xiàn)細(xì)節(jié)原則

隱藏實(shí)現(xiàn)細(xì)節(jié),允許在改變代碼組件的實(shí)現(xiàn)的同時(shí),最低限度地減少對(duì)使用該組件的其他模塊的影響。

得墨忒耳定律

代碼組件應(yīng)該只和它們的直接關(guān)系(如,繼承的類,包含的對(duì)象,通過參數(shù)傳遞的對(duì)象等)溝通。

避免過早優(yōu)化原則

除非代碼開始工作,否則甚至就不要有優(yōu)化的念頭。只有當(dāng)你必須要優(yōu)化的時(shí)候,才能借助實(shí)戰(zhàn)數(shù)據(jù)的幫助。 “我們一定要有大局觀:過早的優(yōu)化是萬惡之源”——Donald Knuth。

重用代碼才是好代碼

這和任何其他法則一樣之精辟。重用代碼可以提高代碼的可靠性,并減少開發(fā)時(shí)間。

關(guān)注點(diǎn)分離原則

不同的功能區(qū)域應(yīng)該由明顯的重疊最小的代碼模塊進(jìn)行管理。

擁抱變化原則

這是Kent Beck寫的一本書的副標(biāo)題,也被認(rèn)為是極端編程和通用敏捷方法的原則。許多其他原則都基于這個(gè)理念:你應(yīng)該期待和歡迎變化。事實(shí)上,很多古老的軟件工程 法則,例如最小化耦合原則,就是和讓代碼變得更容易改變是直接相關(guān)的。無論你是不是一個(gè)極端編程的實(shí)踐者,這種寫代碼的方法真的很有意義。

有什么想法嗎?歡迎參與到我們熱烈的討論中來!

譯文鏈接:http://www.codeceo.com/article/18-good-programming-principles.html
英文原文:The Principles of Good Programming

 

責(zé)任編輯:王雪燕 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2018-04-02 11:19:20

MacAppleScript代碼

2015-10-12 08:56:37

程序員成長法則

2019-12-20 07:59:50

MySQL索引

2011-01-18 13:41:40

運(yùn)維法則

2020-01-20 14:27:57

程序員數(shù)據(jù)庫電子商務(wù)

2021-03-22 22:38:04

程序員工具編碼

2024-11-25 06:50:00

2014-12-12 15:47:56

張小龍微信公眾平臺(tái)

2018-05-05 09:00:40

生產(chǎn)效率

2014-07-14 11:28:41

2015-04-27 14:22:39

程序員提升自己價(jià)值

2019-11-27 10:08:36

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

2016-01-29 10:03:43

優(yōu)秀程序員黃金法則

2014-03-28 10:30:20

程序員碼農(nóng)

2014-12-05 09:59:17

程序員

2022-12-29 15:20:34

開發(fā)工具

2013-05-30 13:30:00

代碼效率程序員

2019-01-21 14:13:51

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

2012-01-17 10:34:14

程序員

2009-05-21 16:23:23

程序員法則職場
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)