
網站(zhàn)制(zhì)作(zuò)中關于代碼注釋的(γ←σ★de)7個(gè)技(jì)巧
1. 對(duì)齊注釋行(xíng)
對(duì)于那(nà)些(xiē)在行(xíng)末寫有(yǒu)注釋的("™≠λde)代碼,應該對(duì)齊注釋行(xíng)來(lái)使得(de)→∞方便閱讀(dú)
有(yǒu)些(xiē)開(kāi)發人(rén)員(y↔↑uán)使用(yòng)tab來(lái)對(duì)齊注釋,而另外(wài)一(yī)些(xiēε↕)人(rén)會(huì)用(yòng)空(kōng)格來✘®(lái)對(duì)齊。由于tab在不(bù)同的(de)編輯器(qì)和(hé)集成開(kā•♠★∏i)發環境中會(huì)有(yǒu)所不(b©λù)同,所以最佳的(de)方法是(shì)使用(∑₽αyòng)空(kōng)格來(lái)對(duì)齊注釋行(xíng)。
2. 使用(yòng)統一(yī)的(de)風(fēng)格
有(yǒu)些(xiē)人(rén)覺得(de)注釋應該讓非程序員(y ©uán)也(yě)能(néng)看(kàn)懂(dǒng)。另外(wài)一(yī)些©(xiē)人(rén)覺得(de)注釋需要(yào)面對(duì)的(de)™§↑讀(dú)者隻是(shì)程序員(yuán)。無論如(rú)何,正如(rú)Successfu✔®₽$l Strategies for Commenting Code中所說(shuō)的(de₽∞£),最重要(yào)的(de)是(shì)注釋的(de)風(fēng)格需要(yào)§Ω¥統一(yī),并且總是(shì)面向相(xiàng)同的(de)"σ≤∏讀(dú)者。就(jiù)自(zì)己而論,我懷疑非程序員(yuán)是(sΩ☆•↓hì)否會(huì)去(qù)讀(dú)代碼,所以我覺得(de)注釋應該面向程序員(yu₽"♣¶án)來(lái)寫。
3. 對(duì)不(bù)同級别的(d×♦₩e)代碼進行(xíng)注釋
對(duì)于不(bù)同級别的(de)代碼塊βΩ,要(yào)使用(yòng)統一(yī)的(de)方法來Ω±(lái)進行(xíng)注釋。例如(rú):
對(duì)于每一(yī)個(gè)類,需要(y"€®¥ào)包含一(yī)段簡明(míng)扼要(yà ≠™ o)的(de)描述,作(zuò)者和(hé)上(shàng)一(yī)次修改的(de)時(™$σshí)間(jiān)
對(duì)于每一(yī)個(gè)方法,需要(yào)包含這(zhè)個(gè)方法的(d☆♥ε↔e)用(yòng)途,功能(néng),參數(shù)以及返回結果
當你(nǐ)在一(yī)個(gè)團隊裡(lǐ)面的(de)★<∞時(shí)候,采用(yòng)一(yī)套注釋的(de)标準是(shì)非常重 "要(yào)的(de)。當然,使用(yòng)一(yī)種大(dà)家(jiā)都(d♦↑"ōu)認可(kě)的(de)注釋約定和(hé)工(gōng)具(例如(rú)C#的(de)X± ≈ML注釋和(hé)Java的(de)Javadoc)在一(yī)定程度上(shàng)能(↕∏néng)推動這(zhè)項任務。
4. 使用(yòng)段落注釋
首先把代碼塊分(fēn)解成多(duō)個(gè)“段落”,每一(yī)個(gè)段落都(d→σ ™ōu)執行(xíng)單一(yī)的(de)任務;然後在每一(β★ yī)個(gè)“段落”開(kāi)始之前添加注釋,告訴閱讀(dú)代碼的(de)人(rén)接σπ♥ε下(xià)來(lái)的(de)這(zhè)段代碼是(shì)幹什(shén€ )麽用(yòng)的(de)
5. 不(bù)要(yào)侮辱閱讀(dú)者的(de)智慧
這(zhè)不(bù)單把時(shí)間(jiān)浪費(fèi)₹♣'在寫沒用(yòng)的(de)注釋上(shàng)面,同時(shí)也(yě)在分(≈'fēn)散讀(dú)者的(de)注意力。
6. 直截了(le)當
不(bù)要(yào)在注釋裡(lǐ)面寫過多(duō)的(de)廢話(∏₽huà)。避免在注釋裡(lǐ)面賣弄ASCII藝術(shù),寫笑(xiào€♥)話(huà),作(zuò)詩和(hé)過于冗長(cháng)。簡而言之就(j≤↕÷iù)是(shì)保持注釋的(de)簡單和(hé)直接。