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

如何防止程序代碼腐爛

開(kāi)發(fā) 開(kāi)發(fā)工具
代碼腐爛的意思,就是程序中的代碼本來(lái)運(yùn)行良好,但過(guò)段時(shí)間后就變得臃腫,難以維護(hù)。我們?cè)撊绾螒?yīng)對(duì)這樣的問(wèn)題?請(qǐng)看本文。

  很多團(tuán)隊(duì)都有這個(gè)問(wèn)題,一個(gè)項(xiàng)目的代碼本來(lái)開(kāi)始設(shè)計(jì)得好好的,一段時(shí)間以后,代碼就會(huì)變得難以理解,難以維護(hù),難以修改。為什么?我一直在思考這個(gè)問(wèn)題。

  讓我們先看一個(gè)人的情況。

  1.程序員的成長(zhǎng)

  新手的代碼

  新手的代碼沒(méi)有經(jīng)驗(yàn),基本不考慮代碼設(shè)計(jì),代碼規(guī)模稍稍大一點(diǎn)則自己就亂了。

  進(jìn)階者的代碼

  小規(guī)模的時(shí)候

大規(guī)模的時(shí)候

  進(jìn)階者已經(jīng)知道如何設(shè)計(jì)代碼,懂得代碼規(guī)則,但一般局限于一個(gè)模塊。規(guī)模一大,模塊間的調(diào)用就會(huì)比較混亂,難以維護(hù)。

  有經(jīng)驗(yàn)者的代碼


 

  有經(jīng)驗(yàn)者的代碼,模塊內(nèi)部代碼整潔,模塊之間層次清晰,有設(shè)計(jì)模式,有成熟的體系。可以保持長(zhǎng)期的代碼整潔。

  那么一個(gè)團(tuán)隊(duì)里面會(huì)出現(xiàn)什么情況呢?似乎,我們只要讓一堆有經(jīng)驗(yàn)的人來(lái)開(kāi)發(fā),那么代碼必然不會(huì)出什么問(wèn)題??上В聦?shí)不是這樣。

  2.背景

  代碼風(fēng)格的多樣性

  有這樣的。

  也有這樣的

  放眼一看,會(huì)發(fā)現(xiàn)不同的代碼風(fēng)格,不同的設(shè)計(jì)思想,不同的設(shè)計(jì)理念。每個(gè)程序員都有自己的代碼個(gè)性。

團(tuán)隊(duì)層次的差異

一個(gè)團(tuán)隊(duì)內(nèi)部有新人,有熟手,有牛人。一個(gè)設(shè)計(jì)好的架構(gòu)可能會(huì)變壞。

  3.原因

  風(fēng)格的融合

  當(dāng)程序員A和程序員B在一起的時(shí)候,會(huì)有如下變化

原本整潔的代碼變得不整潔了。

  進(jìn)度的壓力

進(jìn)度導(dǎo)致了“飛線”的產(chǎn)生,未經(jīng)設(shè)計(jì)的代碼在時(shí)間的借口下產(chǎn)生了。


 

  多個(gè)人修改一個(gè)模塊


 


 

4.本質(zhì)

 

  所有代碼腐爛問(wèn)題的本質(zhì)是溝通問(wèn)題。其表現(xiàn)又都可以統(tǒng)一為修改別人的代碼。

  當(dāng)一個(gè)程序員在沒(méi)有溝通的情況下,修改另一個(gè)程序員的模塊的代碼的時(shí)候,他可能不理解此模塊的設(shè)計(jì)思路,代碼結(jié)構(gòu),邏輯結(jié)構(gòu),于是按自己的想法去修改,雖然看起來(lái)解決了眼前的問(wèn)題。但是留下了一個(gè)不穩(wěn)定因素。此因素可以通過(guò)重構(gòu)來(lái)解決。但是,大家都非常的“忙”,誰(shuí)也沒(méi)有空時(shí)間去Review代碼,去溝通我改了你的哪里的代碼。所以不穩(wěn)定的因素越來(lái)越多,導(dǎo)致了代碼的腐爛。

  最快腐爛的代碼,一定是很多人在修改的代碼,相反,長(zhǎng)期由一個(gè)人來(lái)維護(hù)的代碼,就不會(huì)那么容易腐爛。因?yàn)橐粋€(gè)人不存在溝通的問(wèn)題,他修改代碼的時(shí)候,明確的知道自己應(yīng)該怎樣去修改,怎樣讓代碼更整潔。

  5.解決

  就一個(gè)辦法,多溝通。

  當(dāng)你工作的時(shí)候需要修改別人的代碼的時(shí)候,應(yīng)該先找這個(gè)人溝通。說(shuō)清楚需要改動(dòng)的邏輯,然后盡量讓他來(lái)修改。這樣可以保證一塊代碼是由一個(gè)人維護(hù),這樣成本最少。

  如果此人真的太忙,沒(méi)有時(shí)間,那么你必須說(shuō)明你的計(jì)劃,讓他做一個(gè)建議,***能讓他給你講講此模塊的設(shè)計(jì)思路,代碼設(shè)計(jì),邏輯設(shè)計(jì),現(xiàn)在的問(wèn)題,以后的計(jì)劃。保證你修改的代碼都是合理的。

  最理想的狀態(tài)就是整個(gè)團(tuán)隊(duì)的思想是高度統(tǒng)一的,N個(gè)人可以像一個(gè)人那樣去工作。這個(gè)需要團(tuán)隊(duì)長(zhǎng)期的磨合。

  你可以會(huì)想到,我們制定一個(gè)規(guī)范不就可以了么?紙面上的規(guī)范通常是不起作用的,成功團(tuán)隊(duì)的規(guī)范是在整個(gè)團(tuán)隊(duì)達(dá)到一個(gè)很高的水平以后總結(jié)的經(jīng)驗(yàn)。與其說(shuō)執(zhí)行規(guī)范,不如說(shuō)是學(xué)習(xí)經(jīng)驗(yàn)。MFC的代碼像是由一個(gè)人寫出來(lái)的,Office所有產(chǎn)品都像是一個(gè)人做出來(lái)的。這就是高度的統(tǒng)一。我們把微軟的規(guī)范搬過(guò)來(lái),不一定就有效果。

代碼的腐爛都是由于沒(méi)有深入理解的情況下修改別人的代碼導(dǎo)致的。

  總結(jié)一下:

解決的方法就是任何修改之前確保經(jīng)過(guò)深入的溝通。

簡(jiǎn)單的規(guī)則是一個(gè)模塊僅允許一個(gè)人維護(hù)。

理想的狀態(tài)是整個(gè)團(tuán)隊(duì)思想高度統(tǒng)一。

【編輯推薦】

  1. 初學(xué)者必看:如何為代碼編寫基本的文檔
  2. 程序代碼里的幽默精神
  3. 讀書百遍其義自見(jiàn) 好代碼你需要寫兩遍
  4. Dart語(yǔ)言慣用語(yǔ)——Dart中特有的代碼味道
  5. 自己動(dòng)手開(kāi)發(fā)***的代碼編輯器

 

責(zé)任編輯:彭凡 來(lái)源: 騰訊大講堂
相關(guān)推薦

2010-07-17 00:55:48

PHP Telnet

2013-07-29 14:28:43

JQueryJQuery實(shí)現(xiàn)分頁(yè)分頁(yè)程序代碼

2021-07-05 06:51:43

流程代碼結(jié)構(gòu)

2010-01-15 18:46:08

C++程序代碼

2011-11-03 15:44:10

程序員

2010-07-13 09:29:37

socketUDP協(xié)議

2009-06-03 14:42:21

Eclipse調(diào)試調(diào)試Java程序

2010-01-22 15:09:11

VB.NET下載程序

2009-06-17 14:29:50

java程序代碼

2023-11-17 11:55:54

Pythonretrying庫(kù)

2009-08-24 18:06:36

源程序代碼C#讀取XML文件

2010-01-15 10:48:29

C++程序代碼

2010-03-23 14:12:43

Python開(kāi)發(fā)Win

2009-09-02 18:28:00

C#鼠標(biāo)位置

2014-01-16 13:36:17

2011-09-02 15:10:52

2015-11-05 10:16:33

2013-04-22 11:34:30

BadNews惡意程序移動(dòng)安全

2010-05-28 10:53:07

Linux串口測(cè)試工具

2021-05-07 09:00:00

JavaScript開(kāi)發(fā)代碼
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 一区二区视频在线观看 | www.亚洲国产精品 | 国产视频久久久 | 亚洲欧美日本国产 | 国产精品精品视频一区二区三区 | 紧缚调教一区二区三区视频 | 国产一区二区免费 | 免费在线精品视频 | 一级黄色毛片 | 亚洲视频一区在线 | 亚洲字幕在线观看 | 欧美视频在线观看 | 国产精品欧美一区喷水 | 91精品久久久久久久久 | 免费在线观看黄视频 | 国产97视频在线观看 | 欧美做暖暖视频 | 美女毛片| 免费观看www | 国产中文字幕在线观看 | 日韩一区二区三区在线观看视频 | 亚洲三区在线观看 | 欧美精品一区二区三区在线播放 | 99re在线 | 国产成人网 | 在线观看日韩 | 在线国产一区 | 久草网在线视频 | 国产一区在线免费 | 少妇一级淫片免费放播放 | 欧美激情一区二区 | 一区二区免费在线观看 | 中国xxxx性xxxx产国 | 国产精品国产三级国产a | 毛片一级片 | 亚洲网一区 | 国产亚洲区| 国产99久久 | 国产一区二区三区四区在线观看 | 91天堂网| 免费看黄视频网站 |