freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ch1編程之道--代碼風(fēng)格的重塑(編輯修改稿)

2025-06-19 05:34 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 _C() 1. 編程之道 代碼風(fēng)格的重塑 代碼布局 ? 縮進(jìn) ? Tab indent。 Linus 推薦用 8. ? 本人推薦用 4。 并建議直接轉(zhuǎn)換成空格符。 ? 8是在較早的顯示硬件基礎(chǔ)上的。 ? 行寬 原來一般 terminal只支持 80個(gè)字符每行,但現(xiàn)在可以支持的比較多,所以每行 100個(gè)字亦可,不必為了縮短,而強(qiáng)制換行。 但由于新的編輯環(huán)境通常有左邊瀏覽欄,甚或右邊也有一些快捷欄,所以長(zhǎng)度也不可過長(zhǎng),如超過 120個(gè)字符。 1. 編程之道 代碼風(fēng)格的重塑 花括號(hào) ? Kamp。R風(fēng)格: if () { 以傳說中的 Kernighan amp。 Ritchie之名命名,因他們的樣例代碼而被廣為接受。又因 Unitx內(nèi)核使用這種風(fēng)格,所以又被稱作 Kernel Style,也被它的信徒稱作 One True Brace Style。也因?yàn)?C代碼主要使用這種風(fēng)格,也被其他類 C語(yǔ)言的使用者稱作 C風(fēng)格。這種風(fēng)格的流行,一是因?yàn)榇蟛糠纸虒W(xué)書籍使用這種風(fēng)格以節(jié)約紙張成本,二是隨著 Java的普及而被廣泛接受。 ? 優(yōu)點(diǎn) 是代碼相當(dāng)緊湊,對(duì)低分辨率的顯示器和打印文稿來說很有價(jià)值; ? 缺點(diǎn)是 在有些情況下匹配大括弧有些困難,并且也因此產(chǎn)生很多子派別。如: if () { } else { } 與 if () { } else { } 1. 編程之道 代碼風(fēng)格的重塑 ? BSD風(fēng)格: if () { } 以 Berkeley黑客 Eric Allman之名命名,也叫 Ansi風(fēng)格,大括弧獨(dú)占一行。這是除了Kamp。R風(fēng)格外,唯一的在 Java社群里大量使用的風(fēng)格,而 Dos/Windows程序員大部分使用這種風(fēng)格,在這個(gè)社群里也被稱作標(biāo)準(zhǔn)風(fēng)格。 ? 優(yōu)點(diǎn) 是在所有的地方大括弧都是對(duì)稱的,大部分人認(rèn)同這種風(fēng)格的代碼更易讀; ? 缺點(diǎn) 是浪費(fèi)空間,比如: try { DoSomething()。 } catch { DoSomething()。 } 如果你無法忍受浪費(fèi)的行,最好的辦法就是用這些行來寫注釋。 1. 編程之道 代碼風(fēng)格的重塑 ? GNU風(fēng)格: if () { DoSomething()。 } ? 所有 GNU EMACS和自由軟件基金會(huì)的代碼都使用這種風(fēng)格,除此之外沒有其他地方使用。大括弧距離兩邊各兩格。 1. 編程之道 代碼風(fēng)格的重塑 風(fēng)格選用 ? 1. 你老板喜歡哪種風(fēng)格 (你們組的風(fēng)格) ? 2. 相鄰組或所用開發(fā)包的風(fēng)格 ? 3. 我推薦的風(fēng)格: 易于統(tǒng)一管理的 BSD風(fēng)格 ? 現(xiàn)在顯示器都好了,不在乎多占一點(diǎn)地方,但看著整齊。 ? {} 對(duì)齊的好處 if(!axuGetHierPoIByHierPoIMstId(cellId, hierCellInstId, hierPoIMId, amp。hierPortInstId, amp。hierPortInst) || !hierPortInstId) { goto errorReturn。 } if(!axuGetHierPoIByHierPoIMstId(cellId, hierCellInstId, hierPoIMId, amp。hierPortInstId, amp。hierPortInst) || !hierPortInstId) { goto errorReturn。 } 1. 編程之道 代碼風(fēng)格的重塑 花括號(hào)的另外用途 ? IDE中的折疊 ? 對(duì)一個(gè)大函數(shù),如果不想把它拆成幾個(gè)小函數(shù)從而增加函數(shù)調(diào)用負(fù)擔(dān),可以加花括號(hào)將函數(shù)分成幾部分。每部分可以單獨(dú)折疊,方便代碼閱讀。 ? 如 : foo() { { // step 1 } { // step 2 } } ? 變量定義的局部性 ? 對(duì)于較新的編譯器,變量定義局限于所在的 block (花括號(hào)對(duì))中。在適當(dāng)?shù)臅r(shí)候加花括號(hào)可以避免內(nèi)部變量范圍過大。 (注:早期編譯器只能在函數(shù)開頭部分定義變量) 1. 編程之道 代碼風(fēng)格的重塑 空格,分隔 ? 函數(shù)類型和變量用一個(gè) Tab,至少兩個(gè)空格隔開。 定義時(shí)同類型變量之間用逗號(hào)和一個(gè)空格隔開。 (但也不可相距過遠(yuǎn),以易于分辨為原則) 指針的星號(hào)緊靠變量左邊。 dbObjId_t CIMId, PoIMId, cellInstId, portInstId。 axCellInst_t *cellInst。 axPortInst_t *portInst。 dbObjTypeId_t PoIMType。 dbIteratorId_t iterId。 stdBoolean_t done。 應(yīng)改為: dbObjId_t CIMId, PoIMId, cellInstId, portInstId。 axCellInst_t *cellInst。 axPortInst_t *portInst。 dbObjTypeId_t PoIMType。 dbIteratorId_t iterId。 stdBoolean_t done。 1. 編程之道 代碼風(fēng)格的重塑 空行 ? 每個(gè)函數(shù)定義之間至少空兩行 ? 函數(shù)分界處除空行外,可以加注釋行分割 ? 如 // ? /////////////////////////////// ? //=================== ? 函數(shù)內(nèi)部重要分界處可以空一行 1. 編程之道 代碼風(fēng)格的重塑 注釋 ? 注釋的原則 ? 可以不注釋就不注釋(讓代碼自己說明) ? 需要注釋一定注釋。(關(guān)鍵地方挑明) ? 注釋的類型 ? 行注釋 // ………… ? 塊注釋 /* */ ? // 注釋風(fēng)格 比 /*注釋風(fēng)格 */ 好的地方 對(duì)于多行注釋 , diff 時(shí)能都顯示出來 . 或者塊注釋在每行前加 * 1. 編程之道 代碼風(fēng)格的重塑 注釋的場(chǎng)合 ? 文件頭 ? 版權(quán) ? 文件(模塊)更新歷史
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1