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

代碼整潔之所以重要的七個(gè)理由

開發(fā) 后端 開發(fā)工具
首先要承認(rèn),大學(xué)畢業(yè)的時(shí)候我是個(gè)糟糕的程序員。我拿到了學(xué)位,學(xué)到了一大堆書本知識,然后,我開始做一個(gè)不太重要的項(xiàng)目,每天晚上花大量的時(shí)間做簡化。 起初,一切正常,但是我的代碼風(fēng)格一直在添亂。復(fù)制、粘貼、蹩腳的命名,混亂的思考,而且總用長期連續(xù)運(yùn)行的方法,執(zhí)行各種各樣本可以分開的任務(wù)。

首先要承認(rèn),大學(xué)畢業(yè)的時(shí)候我是個(gè)糟糕的程序員。我拿到了學(xué)位,學(xué)到了一大堆書本知識,然后,我開始做一個(gè)不太重要的項(xiàng)目,每天晚上花大量的時(shí)間做簡化。 起初,一切正常,但是我的代碼風(fēng)格一直在添亂。復(fù)制、粘貼、蹩腳的命名,混亂的思考,而且總用長期連續(xù)運(yùn)行的方法,執(zhí)行各種各樣本可以分開的任務(wù)。幾個(gè)月之后,我意識到一個(gè)嚴(yán)峻的現(xiàn)實(shí):這個(gè)項(xiàng)目要崩潰了。原本我以為一個(gè)人開發(fā),可以避免混亂。但是最終不得不承認(rèn),這個(gè)項(xiàng)目被我弄得一團(tuán)糟,沒法維護(hù),更別說去理解了。

盡管我的代碼通常能正常運(yùn)行,但我確實(shí)在編碼時(shí)玩忽職守,因?yàn)槲覍懙拇a,不經(jīng)過仔細(xì)重構(gòu),沒人能看懂。那時(shí),我是個(gè)超高效的技術(shù)債務(wù)制造者。 你一定不想那樣。

再簡單的問題,一個(gè)糟糕的程序員都能把它變復(fù)雜。——Steve Bohlen

哇,Steve是在說我吧?我早期的項(xiàng)目就很好驗(yàn)證了這句話。沒有良好的實(shí)現(xiàn),再簡單的邏輯都能變得晦澀難懂。早期的經(jīng)驗(yàn)讓我明白,我該研究下怎么改進(jìn)代碼風(fēng)格了。

什么是整潔的代碼?

代碼整潔是一種以讀者為中心的開發(fā)風(fēng)格,以此開發(fā)的軟件易于讀寫和維護(hù)。開發(fā)人員總以為他們的工作在應(yīng)用程序能夠正常運(yùn)行時(shí)就完成了。但是我們編寫代碼,并不只是為了給計(jì)算機(jī)用。

編碼是一種和另外一個(gè)人交流你希望計(jì)算機(jī)做什么的藝術(shù)。–Nonald Knuth

保持代碼整潔,首先要意識到你的讀者不只是計(jì)算機(jī),還是活生生的人!牢記這個(gè)原則,我們來討論代碼整潔之所以重要的七個(gè)簡單理由。

1. 你是個(gè)作家

想讓媽媽覺得你很厲害?告訴她你是個(gè)作家!作家就是那些練習(xí)寫作并以此為職業(yè)的人。開發(fā)人員每天都在寫。但是作為開發(fā)人員,我們總會(huì)忘記我們寫的每一行代碼都會(huì)被人閱讀十遍以上。這些人,就是我們的同事。他們閱讀代碼,忙著修復(fù)漏洞和添加新的特性。

卓越的作家以寫敘述清晰、扣人心弦的故事著稱于世。他們使用諸如章節(jié)、標(biāo)題和段落等工具,有條理組織他們的想法,并耐心的引導(dǎo)讀者。開發(fā)人員的工作模式也很類似,只是他們簡單的使用命名空間、類和方法這些行話來講述故事罷了。

9a3ea672e38521a979f9d33e1d483da94

代碼整潔的人能夠聰明使用這些工具來降低復(fù)雜度,使故事變得清晰。

2. 代碼整潔是基礎(chǔ)

近年來,專業(yè)的重構(gòu)、單元測試、測試驅(qū)動(dòng)的開發(fā)等軟件實(shí)踐備受關(guān)注。這些實(shí)踐提升了代碼質(zhì)量和軟件的可維護(hù)性。實(shí)現(xiàn)代碼整潔的原則是一項(xiàng)基本技能,它的優(yōu)勢會(huì)在進(jìn)行重構(gòu)代碼或者對代碼進(jìn)行單元測試時(shí)顯現(xiàn)。代碼整潔的原則使得源代碼高度模塊化并且易于閱讀和測試。如果將那些軟件實(shí)踐看作是房子的話,整潔的代碼則是地基。

3. 證明你的技能

假設(shè)你正在參加一場技術(shù)面試。如果被問到代碼質(zhì)量,為證明你的代碼質(zhì)量,你能夠舉出專業(yè)且合理的理由嗎?

或者,你會(huì)這樣回答?

[[109992]]

如果這就是你關(guān)于代碼整潔所能想到的,那可是個(gè)壞兆頭。如果你從未有條有理的深入思考過代碼風(fēng)格的質(zhì)量問題,那么你可以改進(jìn)的機(jī)會(huì)估計(jì)很多。代碼整潔的人能夠傳授很多他們使用的具體行為、模式和技巧。但是,代碼整潔畢竟不是偶然現(xiàn)象,它要求可行的規(guī)律的專注于清晰的表達(dá)意圖。

能夠被衡量的東西,都能被管理。—— Peter Drucker

建立一個(gè)整潔代碼的詞匯表,不僅有利于面試和提升代碼質(zhì)量;而且,在代碼審查時(shí),建立大家公認(rèn)的代碼可讀性的詞匯表和框架,能夠促進(jìn)冷靜的對話。

4. 讀代碼才是難事

開發(fā)人員常以能夠解決難題為傲。不過相對來講,寫代碼比較簡單,讀代碼才是件難事。這就是為什么 Eric Lippert 寫文章說閱讀代碼很難。這也是為什么這么多的程序員寧愿重寫,也不愿做閱讀和理解已有的代碼這種苦差事。既然看代碼原本就很挑戰(zhàn),如果一些代碼你寫的時(shí)候都只能勉強(qiáng)理解,你會(huì)發(fā)現(xiàn)過后你一點(diǎn)都看不懂。專業(yè)的程序員寫了太多的代碼,以至于只要間隔幾周,就能忘記大部分的結(jié)構(gòu)和設(shè)計(jì),像以全新的視角看這個(gè)項(xiàng)目。過段時(shí)間看不懂自己的代碼確實(shí)是很尷尬的事。相信我,我經(jīng)歷過好幾次。

[[109993]]

5. 技術(shù)債務(wù)讓人沮喪

馬虎混亂的代碼會(huì)給我們的項(xiàng)目埋下技術(shù)債務(wù)。仔細(xì)考慮情境時(shí),技術(shù)債務(wù)也會(huì)是有用的,但是過度的技術(shù)債讓人沮喪,并且會(huì)導(dǎo)致團(tuán)隊(duì)的人才流失。當(dāng)簡單的事情變得復(fù)雜時(shí),開發(fā)人員就會(huì)開始撤退去別的地方了。他們更看重工作質(zhì)量帶來的成就感,而不是工作數(shù)量。技術(shù)債務(wù)會(huì)降低代碼重用的機(jī)會(huì),并且處處拉低其他代碼庫的質(zhì)量。

6. 你太懶惰

PERL語言的作者Larry Wall說過程序員的三大美德:懶、缺乏耐心、自大。是的,在合適的情境中,懶惰確實(shí)是積極因素。早些年,當(dāng)我還在跌跌撞撞的寫代碼的時(shí)候,我認(rèn)識到保持代碼整潔所付出的艱辛真的會(huì)得到回報(bào)。專業(yè)的開發(fā)人員努力做到正確的懶惰。這種懶惰是把更多的精力放到代碼中,以至于開始時(shí)不難寫,以后也不會(huì)難以重用。代碼整潔不會(huì)多花費(fèi)很多時(shí)間,而且一旦你掌握這些原則,你的編碼速度實(shí)際上會(huì)更快。因?yàn)榫珶挼摹⒈磉_(dá)充分的代碼***的優(yōu)點(diǎn)就是易于管理。

人們處于壓力中時(shí),容易偷工減料并且忽略***做法。然而像Bob Martin大叔在他的《代碼整潔之道》中提醒我們的那樣:我們沒有時(shí)間不認(rèn)真。長遠(yuǎn)來看,馬虎草率所增加的出錯(cuò)次數(shù)和后期的維護(hù)代價(jià),最終會(huì)拖延項(xiàng)目速度。歷史經(jīng)驗(yàn)告訴我們,后期你基本不可能有時(shí)間再去整理你的代碼。所以為什么不在一開始就好好做呢?

7. 不要成為那個(gè)動(dòng)詞

好吧,其他的原因都解釋的站得住腳,但是這個(gè)理由最關(guān)鍵。大家都知道前同事的名字變成動(dòng)詞來描述“臟”代碼的事:糟糕,這些代碼是Jimmy寫的。“Oh man, this code has been Jimmy’d.”

這樣的評價(jià),簡直就是長遠(yuǎn)就業(yè)前景的克星啊。我們都希望未來的職位上,同事能夠推薦或者錄用我們不是嗎?想要確保今后同事會(huì)推薦你,并且期待和你以及你的代碼合作,讓別人知道你的代碼整潔是***的方式。

代碼整潔的原則

以下是代碼整潔的三個(gè)核心原則:

1. 選擇正確的工具

2. 優(yōu)化信噪比

3. 盡***努力寫出能夠自解釋的代碼

Cory在PluralSight的新課程代碼整潔之道:寫代碼給人看詳細(xì)的闡述了這三個(gè)原則。如果你有興趣提升代碼質(zhì)量,建立評價(jià)和編寫整潔代碼的詞匯庫,去看看吧!

關(guān)于作者

Cory House,軟件架構(gòu)師,獨(dú)立顧問,Pluralsignht作者,INETA社區(qū)英國發(fā)展會(huì)議正式發(fā)言人。精通響應(yīng)式網(wǎng)頁設(shè)計(jì)、代碼整潔之道以及臭高爾夫球技。

原文鏈接: Micheal Shallop   翻譯: 伯樂在線 - Victoria

譯文鏈接: http://blog.jobbole.com/61312/

責(zé)任編輯:林師授 來源: 伯樂在線
相關(guān)推薦

2011-03-02 09:34:58

AppFuse

2022-08-11 11:43:01

CISO首席信息安全官

2021-09-22 12:45:47

Python數(shù)據(jù)分析

2023-11-06 18:06:00

Docker容器

2021-11-22 14:53:03

IT管理IT指標(biāo)IT領(lǐng)導(dǎo)者

2015-04-20 10:49:19

2010-02-02 11:49:03

刀片服務(wù)器

2022-08-18 14:54:00

安全首席信息安全官信息安全

2015-08-11 09:15:46

Linux桌面Xfce

2016-04-13 13:56:43

IT討厭理由

2013-11-15 11:06:27

閉源開源

2015-12-08 10:49:59

2022-10-08 23:46:47

JavaScript對象開發(fā)

2016-08-30 20:12:21

VimLinux開源

2016-11-02 10:03:51

Linux雙引導(dǎo)

2022-03-28 12:42:29

開源Threema

2011-07-20 09:29:34

2013-12-17 10:22:20

2025-06-27 06:38:19

2025-01-08 08:47:56

點(diǎn)贊
收藏

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

主站蜘蛛池模板: wwwxxx日本在线观看 | 免费人成激情视频在线观看冫 | 麻豆精品久久 | 亚洲成人一级 | 欧美精品久久久久久久久久 | 在线色网| 亚洲精选一区二区 | 三级在线观看 | 国产一区二区三区在线观看免费 | 久久lu| 亚洲成人精品一区二区 | 欧美性视频在线播放 | 久久精品亚洲精品国产欧美 | 亚洲成人黄色 | 午夜小视频在线播放 | 99伊人| 亚洲欧美激情精品一区二区 | 亚洲视频免费在线观看 | 亚洲国产欧美一区二区三区久久 | 国产99久久久国产精品下药 | 久久久久亚洲 | 久草网址 | 一级毛片视频在线 | 一区二区久久精品 | 在线午夜| 久久久久国产视频 | 久久久久久久久91 | 日韩欧美一区二区三区在线播放 | 久久国产精品一区二区三区 | 国产91精品久久久久久久网曝门 | 天天插天天狠天天透 | 欧美久久精品一级c片 | 91精品国产综合久久久久久首页 | 羞羞视频在线观看 | 亚洲性人人天天夜夜摸 | 91影视 | 久久久久一区 | 色婷婷激情综合 | 色婷婷精品久久二区二区蜜臂av | 久久免费精彩视频 | 天堂精品 |