五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

薦書小攤-如何寫出令人尊敬的代碼《Clean Code》

2023-03-16 21:39 作者:SpiderK  | 我要投稿

《Clean Code》 這是我工作后讀的第一本書,也是想要推薦的第一本。

想寫出令人尊敬的代碼

程序員是一個技術工種,劃分為藍領,稱之新農民工。

既然是技術工種,業(yè)內以優(yōu)秀的開發(fā)能力,高效的做事手法,嚴謹?shù)墓ぷ鲬B(tài)度作為核心競爭力。

并且根據(jù)各項指標會劃分為初級,中級,高級,資深程序員,對應著不同的工作內容以及薪資。

工作的第一個年頭,一年級的我經(jīng)常會感嘆各個大佬寫出的非常值得尊敬的代碼(優(yōu)雅,簡潔,易維護...)

雖然在 code review 時經(jīng)常會對我的代碼提出各種各樣的要求和建議(挨罵)

但是怎么把代碼寫好這個問題還是沒有完整的認知,苦思不得其解。某天下班就找到大佬咨詢 "如何寫出令人尊敬的代碼" 這一問題。

大佬意味深長的看了我一眼以后,就推薦了這本《Clean Code》,看完之后,深感幸運。

讓代碼散發(fā)著善意

在講解《Clean Code》的一般原則之前,先看一下幾位大佬對此觀點的評價:

“Clean code does one thing well.” ? ?--- Bjarne Stroustrup (Inventor of C++)

“Clean code is simple and direct. Clean code reads like well-written prose.” ? --- Grady Booch (Pioneer of OO and UML)

“Clean code can be read, and enhanced by a developer other than its original author.” ? --- Dave Thomas (Godfather of the Eclipse Strategy)

“Clean code always looks like it was written by someone who cares.” ? --- Michael Feathers(Author of “Working effectively with legacy code”)

從上面的描述中,不難看出大家對Clean Code這一思想的認同,可以說 “Clean Code 就是心懷愛意地去編程”,讓你的程序單純、簡單、美好,當他人讀你的程序時,能感覺到“作者的善意”。

編程世界里的名詞

“如果要想深挖一個行業(yè),第一件事就是找到有關該行業(yè)的 100 個關鍵詞” -- 麥肯錫

《Clean Code》講解了我當時編碼過程中司空見慣卻又沒有重視的事項,總共分為以下幾大類:

命名

函數(shù)

注釋

Code format

類&對象

數(shù)據(jù)結構

錯誤處理

封裝

測試

迭代(持續(xù)重構)

并發(fā)編程等...

這些名詞,既是是剛做開發(fā)時的我,也能大致知道概念內容。但是在閱讀本書之前,我完全不知道應該如何在這些方面做出改進,更別說散發(fā)著 “開發(fā)者的善意” ?比如:

如何跟前端開發(fā)更默契的工作解耦

如何使團隊開發(fā)成員更便捷的使用已存在的接口

如何使測試同學提高測試的代碼覆蓋率

如何讓 BA(Business Analyst) 更精準的驗收功能等等

《Clean Code》 知識導圖

讀后感

認真做事

一年級時 leader 告訴我一句話 "程序員需要甄別以及避免玩具代碼。每月的工資除以當月的代碼行數(shù),便是公司所付的一行代碼錢,值不值,開發(fā)內心要有數(shù)。"

《Clean Code》是作者 “鮑勃大叔” 結合自己幾十年的開發(fā)經(jīng)驗總結的一套編程原則?!罢J真做事” 是作者 “鮑勃大叔” 給我的第一印象,讀完本書,他使我第一次明白認真做事的差距,

一盤炒飯,一把剪刀,一個手工品,一段代碼... 同樣的物品,價值可能相差百十倍。完成同樣一個需求,公司愿意給不同的人支付不一樣的薪水,背后的原因就在于此。

持續(xù)迭代

我大概是花了3周的時間閱讀本書。讀完之后,其實并不能記住書中描述的所有注意項。依舊是上面那位 leader 指導我:"搞技術,建立知識索引很重要。"

簡單來說,要先創(chuàng)建自己專業(yè)的知識體系,可以不會用,但是不能不知道。需要用到的時候,再專項去實踐。這個道理可能很多技術人都明白。

我自己從"建立索引" 引申出了一個觀點 ”但凡我做不到,認為無法完成的事務。世界上一定有辦法做到,只是我的索引(知識體系)沒有涵蓋到“

正如在閱讀本書之前,我并不知道如何優(yōu)化自己的代碼一般。這個觀點推動著我持續(xù)迭代自己的索引,補充自己的知識體系,并幫助我不斷提升代碼質量。

有趣的規(guī)則

代碼質量與整潔度成正比

程序員花費在讀代碼上的時間通常要10倍于真正編寫代碼上的時間,也即Writing vs. Reading的比例大概是1:10

優(yōu)秀的代碼大部分是可以自描述的,好于文檔和注釋

代碼大部分時候是用來維護的,而不只是用來實現(xiàn)功能的

大部分項目都不是朝生夕死的短命鬼,代碼實現(xiàn)是寫給身邊的隊友和自己看的,需要長期維護,不能應付了事。


薦書小攤-如何寫出令人尊敬的代碼《Clean Code》的評論 (共 條)

分享到微博請遵守國家法律
北川| 龙江县| 台江县| 无为县| 崇文区| 增城市| 台南县| 泽普县| 延安市| 开江县| 巩义市| 广宗县| 塔城市| 宜良县| 唐河县| 乳山市| 锡林浩特市| 久治县| 云南省| 通辽市| 若尔盖县| 望江县| 柘荣县| 文化| 德庆县| 佛教| 汝州市| 高雄市| 玉林市| 集贤县| 固安县| 云浮市| 成安县| 邵东县| 响水县| 科技| 广河县| 五原县| 靖州| 金华市| 连山|