勒布朗法則: 稍等等于永不 (Later equals never)
程序一開始就要好好寫,不要想著以后來維護(hù)
保持代碼的整潔,不但關(guān)乎效率,還關(guān)乎生存
讀與寫時(shí)間的比例超過10:1。寫新代碼的時(shí)候,我們一直在閱讀舊的代碼。
童子軍軍規(guī):讓營地比你來的時(shí)候更干凈。
不變邏輯,通過修改變量名稱。構(gòu)建方法,使得邏輯清晰。
x[0] == 4cell[STATUS_VALUE] == FLAGGEDcell.isFlagged()NameString 會(huì)比 Name 好嗎? 難道Name會(huì)是一個(gè)浮點(diǎn)數(shù)不成?
不說廢話
類名和對(duì)象名使用名詞或者名詞短語 方法名使用動(dòng)詞或者是動(dòng)詞短語
//類名Customer,Wikipage,Account//方法名postPayment,deletePage,save函數(shù)20行封頂
函數(shù)應(yīng)該做一件事情。做好這件事請(qǐng)。只做這件事請(qǐng)。
自頂向下設(shè)計(jì)程序,在一個(gè)抽象度上,拆分需要完成的步驟。
使用異常替代返回錯(cuò)誤碼
避免層層嵌套出錯(cuò),通過異常替代機(jī)制。
抽離Try/Catch
將Try/Catch內(nèi)部的主體,抽取出來,單獨(dú)形成函數(shù)。
實(shí)際上,注釋最多也就是一種必須的惡。若編程語言具有足夠的表達(dá)力,就跟本不需要注釋
通過合理的命名和函數(shù)的拆分來實(shí)現(xiàn)零注釋。
花時(shí)間寫注釋,不如之間重構(gòu)代碼!
用代碼來闡述
// Check to see if the employee is eligible for full benefitsif((employee.flags&HOURLY_FLAG)&&(employee.age>65)){ dosomething()}if(employee.isEligibleForFullBenefits())必要的注釋: 法律信息,作者信息,TODO注釋,編寫公共API.
整個(gè)團(tuán)隊(duì)統(tǒng)一的編碼風(fēng)格,例如單個(gè)文件的大小。
某個(gè)函數(shù)調(diào)用了另外一個(gè),調(diào)用函數(shù)應(yīng)該在被調(diào)用者的上面
縱向上,空行,用來區(qū)別邏輯 橫向上,空格,用來區(qū)別邏輯
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注