天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

我所信奉的編程哲學

  從去年到今年,陸陸續續看完了《代碼大全》《重構》《代碼整潔之道》《程序員修煉之道》以及《The Art of Readable Code》,獲益匪淺。下面就分享幾條我贊同并信奉的編程哲學,順便廢話幾句。

  本文適合有一定編程經驗的讀者閱讀,高手請輕噴:)

  代碼是寫給人看的(Coding for Reading)

  請先思考,評價一段代碼優劣最重要的標準是什么?

  有個著名的圖,相信大家都見過,講的是Code Review時被罵WTF的次數越少,代碼的質量就越高。這雖然有點無厘頭,但是卻不無道理。

  《The Art of Readable Code》中告訴我們,評價一段代碼的質量的最佳標準是可讀性,即別人理解代碼意圖所需要的時間。

  可讀性有什么用,我寫出一段代碼,能完成目標,能通過測試不就行了嗎?

  不管你是團隊開發,還是一個人單干,只要項目還在運作,代碼總是要有人來維護的。如果有一天你不在或者離開了,別人應該能很輕松的看懂你的代碼,而不是猜來猜去,最后還要來問你,甚至棄用整段代碼重新再寫。作為一個負責任的開發者,應該尊重自己的勞動成果,也尊重別人的時間。

  當你寫下一段代碼時,腦子里有清晰的邏輯(比如這里必須這么做,因為……這里不能那么做,因為……)。而別人看這段代碼時,腦中是一片空白(這個變量是干什么的?為什么要多加一層判斷?這個數為什么是 2 不是 3 ?),除非能完整復現你當時腦中的邏輯,否則就不能理解這段代碼。

  所以我們應該做的是,把寫代碼時腦中想到的邏輯的每一個細節,盡可能地寫到代碼以及注釋中,從而幫助后來的閱讀者快速復原整個邏輯。簡單來說可以有以下的方法:

  用常量代替魔術數

  在一段代碼中出現 if ( level > 3 ) ...的時候,也許你會想:為什么是 3 不是 4 呢?這就是所謂的魔術數。通過上下文也許你可以判斷出這個 3 是指最高等級,但是可能這段代碼中 3 出現了好幾次。你會迷惑:它們是不是都是一個意思?當我要把最高等級改成 4 的時候,是不是應該修改所有的 3 ?

  如果代碼的作者定義一個常量MAX_LEVEL = 3,同時還有一個常量USERS_PER_PAGE = 3,并在不同的地方使用不同的常量,就不會有這樣的混淆了。

  使用富含信息的類名、變量名和函數名

doit();$return = $str2 . ':' . $str3;return $return;

it知識庫我所信奉的編程哲學,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: jizz国产丝袜18老师美女 | 国产精品成人久久久久A伋 国产精品成人观看视频免费 | 色WWW永久免费视频首页 | 蜜桃婷婷狠狠久久综合9色 蜜桃视频一区二区 | 99久久精品免费国产一区二区三区 | 视频一区在线免费观看 | 性夜夜春夜夜爽AA片A | 日本三级按摩推拿按摩 | 无码人妻精品一区二区蜜桃在线看 | 欧美内射深插日本少妇 | Chineseman瘦老头77 | 亚洲成A人片在线观看中文不卡 | 亚洲高清国产拍精品5g | 美女被打开了屁股进去的视频 | 哪里能看毛片 | 大地影院日本韩国电影免费观看 | 狠狠干女人 | 亚洲成年人影院 | 午夜一个人在线观看完整版 | 花蝴蝶hd免费 | 在线观看国产亚洲 | 操老太太的逼 | 用快播看黄的网站 | 久久婷婷色一区二区三区 | 免费三级播放器 | 日韩亚洲欧美中文高清在线 | yin乱教师系列合集 yin荡体育课羞耻play双性 | 国产真实夫妇交换视频 | 欧美一区二区三区激情视频 | 亚洲在线中文无码首页 | 久久频这里精品99香蕉久网址 | 欧美激情性AAAAA片欧美 | 男同志在线观看 | 午夜伦午夜伦锂电影 | 拍床戏被肉高H纯肉H在水 | 97视频在线免费播放 | 花蝴蝶免费观看影视 | 国产激情视频在线播放 | 亚洲网站视频在线观看 | 手机伊在人线香蕉2 | z0000性欧美 YY8848高清私人影院 |