編寫可讀代碼的藝術(shù)電子版是一本代碼編寫藝術(shù)手冊(cè),由美國程序員鮑斯維爾編著。本書旨在幫助你把代碼寫得更好。當(dāng)我們說“代碼”時(shí),指的就是你在編輯器里面要寫的一行一行的代碼。我們不會(huì)討論項(xiàng)目的整體架構(gòu),或者所選擇的設(shè)計(jì)模式。當(dāng)然那些很重要,但我們的經(jīng)驗(yàn)是程序員的日常工作的大部分時(shí)間都花在一些“基本”的事情上,像是給變量命名、寫循環(huán)以及在函數(shù)級(jí)別解決問題。并且這其中很大的一部分是閱讀和編輯已有的代碼。我們希望本書對(duì)你每天的編程工作有很多幫助,并且希望你把本書推薦給你團(tuán)隊(duì)中的每個(gè)人
使用說明
1、下載并解壓,得出pdf文件
2、如果打不開本文件,請(qǐng)務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀試讀
內(nèi)容簡(jiǎn)介
細(xì)節(jié)決定成敗,思路清晰、言簡(jiǎn)意賅的代碼讓程序員一目了然;而格式凌亂、拖沓冗長(zhǎng)的代碼讓程序員一頭霧水。除了可以正確運(yùn)行以外,優(yōu)秀的代碼必須具備良好的可讀性,編寫的代碼要使其他人能在最短的時(shí)間內(nèi)理解才行。本書旨在強(qiáng)調(diào)代碼對(duì)人的友好性和可讀性。
《編寫可讀代碼的藝術(shù)》關(guān)注編碼的細(xì)節(jié),總結(jié)了很多提高代碼可讀性的小技巧,看似都微不足道,但是對(duì)于整個(gè)軟件系統(tǒng)的開發(fā)而言,它們與宏觀的架構(gòu)決策、設(shè)計(jì)思想、指導(dǎo)原則同樣重要。編碼不僅僅只是一種技術(shù),也是一門藝術(shù),編寫可讀性高的代碼尤其如此。如果你要成為一位優(yōu)秀的程序員,要想開發(fā)出高質(zhì)量的軟件系統(tǒng),必須從細(xì)處著手,做到內(nèi)外兼修,本書將為你提供有效的指導(dǎo)。
主要內(nèi)容:
1、簡(jiǎn)化命名、注釋和格式的方法,使每行代碼都言簡(jiǎn)意賅。
2、梳理程序中的循環(huán)、邏輯和變量來減小復(fù)雜度并理清思路。
3、函數(shù)級(jí)別解決問題,例如重新組織代碼塊,使其一次只做一件事。
4、編寫有效的測(cè)試代碼,使其全面而簡(jiǎn)潔,同時(shí)可讀性更高。
編寫可讀代碼的藝術(shù)章節(jié)目錄
前言
第1章 代碼應(yīng)當(dāng)易于理解
是什么讓代碼變得“更好”
可讀性基本定理
總是越小越好嗎
理解代碼所需的時(shí)間是否與其他目標(biāo)有沖突
最難的部分
第一部分 表面層次的改進(jìn)
避免像tmp和retval這樣泛泛的名字
用具體的名字代替抽象的名字
為名字附帶更多信息
名字應(yīng)該有多長(zhǎng)
利用名字的格式來傳遞含義
總結(jié)
第3章 不會(huì)誤解的名字
例子:Filter()
例子:Clip(text, length)
推薦用first和last來表示包含的范圍
推薦用begin和end來表示包含/排除范圍
給布爾值命名
與使用者的期望相匹配
例子:如何權(quán)衡多個(gè)備選名字
總結(jié)
第4章 審美
為什么審美這么重要
重新安排換行來保持一致和緊湊
用方法來整理不規(guī)則的東西
在需要時(shí)使用列對(duì)齊
選一個(gè)有意義的順序,始終一致地使用它
把聲明按塊組織起來
把代碼分成“段落”
個(gè)人風(fēng)格與一致性
總結(jié)
第5章 該寫什么樣的注釋
什么不需要注釋
記錄你的思想
站在讀者的角度
最后的思考--克服“作者心理阻滯”
總結(jié)
第6章 寫出言簡(jiǎn)意賅的注釋
讓注釋保持緊湊
避免使用不明確的代詞
潤(rùn)色粗糙的句子
精確地描述函數(shù)的行為
用輸入/輸出例子來說明特別的情況
聲明代碼的意圖
“具名函數(shù)參數(shù)”的注釋
采用信息含量高的詞
總結(jié)
第二部分 簡(jiǎn)化循環(huán)和邏輯
第7章 把控制流變得易讀
條件語句中參數(shù)的順序
if/else語句塊的順序
條件表達(dá)式(又名“三目運(yùn)算符”)
避免do/while循環(huán)
從函數(shù)中提前返回
臭名昭著的goto
最小化嵌套
你能理解執(zhí)行的流程嗎
總結(jié)
第8章 拆分超長(zhǎng)的表達(dá)式
用做解釋的變量
使用德摩根定理
例子:與復(fù)雜的邏輯戰(zhàn)斗
拆分巨大的語句
另一個(gè)簡(jiǎn)化表達(dá)式的創(chuàng)意方法
總結(jié)
減少變量
縮小變量的作用域
只寫一次的變量更好
最后的例子
總結(jié)
第三部分 重新組織代碼
第10章 抽取不相關(guān)的子問題
介紹性的例子:findClosestLocation()
純工具代碼
其他多用途代碼
創(chuàng)建大量通用代碼
項(xiàng)目專有的功能
簡(jiǎn)化已有接口
按需重塑接口
過猶不及
總結(jié)
第11章 一次只做一件事
任務(wù)可以很小
從對(duì)象中抽取值
更大型的例子
總結(jié)
第12章 把想法變成代碼
清楚地描述邏輯
了解函數(shù)庫是有幫助的
把這個(gè)方法應(yīng)用于更大的問題
總結(jié)
第13章 少寫代碼
別費(fèi)神實(shí)現(xiàn)那個(gè)功能--你不會(huì)需要它
質(zhì)疑和拆分你的需求
保持小代碼庫
熟悉你周邊的庫
例子:使用Unix工具而非編寫代碼
總結(jié)
第四部分 精選話題
第14章 測(cè)試與可讀性
使測(cè)試易于閱讀和維護(hù)
這段測(cè)試什么地方不對(duì)
使這個(gè)測(cè)試更可讀
讓錯(cuò)誤消息具有可讀性
選擇好的測(cè)試輸入
為測(cè)試函數(shù)命名
那個(gè)測(cè)試有什么地方不對(duì)
對(duì)測(cè)試較好的開發(fā)方式
走得太遠(yuǎn)
總結(jié)
第15章 設(shè)計(jì)并改進(jìn)“分鐘/小時(shí)計(jì)數(shù)器”
問題
定義類接口
嘗試1:一個(gè)幼稚的方案
嘗試2:傳送帶設(shè)計(jì)方案
嘗試3:時(shí)間桶設(shè)計(jì)方案
比較三種方案
總結(jié)
附錄 深入閱讀
- 下載地址
發(fā)表評(píng)論
0條評(píng)論軟件排行榜
熱門推薦
- 得間免費(fèi)小說電腦版 v5.3.0.372.58M / 簡(jiǎn)體中文
- 有柿電腦版 v11.6.284.23M / 簡(jiǎn)體中文
- cnki全球?qū)W術(shù)快報(bào)電腦版 v1.0.1135.99M / 簡(jiǎn)體中文
- 瀟湘書院電腦版 v2.3.11.888官方版49.65M / 簡(jiǎn)體中文
- 吉利博瑞用戶手冊(cè) pdf高清版57.89M / 簡(jiǎn)體中文
- 未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡(jiǎn)體中文
- PHP語言精粹電子書 pdf掃描版25.72M / 簡(jiǎn)體中文
- linux常用命令大全 chm版1.48M / 簡(jiǎn)體中文
- docker入門實(shí)戰(zhàn) pdf完整版1.38M / 簡(jiǎn)體中文
- Scala程序設(shè)計(jì)第二版 pdf高清完整版15.83M / 簡(jiǎn)體中文