亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? c語言的編程風格.txt

?? 編程規范,各程編程的規范說明,及要注意的問題!
?? TXT
字號:
[編程技巧]c語言的編程風格
程序匠人 發表于 2005-9-12 9:21:00       閱讀全文(214) | 回復(0) | 引用(0) 
c語言的編程風格
第一章:縮進格式

  Tab是8個字符,于是縮進也是8個字符.有很多怪異的風格,他們將縮進格式定義為4個字符(設置為2個字符!)的深度,這就象試圖將PI定義為3一樣讓人難以接受. 

  理由是:縮進的大小是為了清楚的定義一個塊的開始和結束.特別是當你已經在計算機前面呆了20多個小時了以后,你會發現一個大的縮進格式使得你對程序的理解更容易. 

  現在,有一些人說,使用8個字符的縮進使得代碼離右邊很近,在80個字符寬度的終端屏幕上看程序很難受.回答是,但你的程序有3個以上的縮進的時候,你就應該修改你的程序. 
  
總之,8個字符的縮進使得程序易讀,還有一個附加的好處,就是它能在你將程序變得嵌套層數太多的時候給你警告.這個時候,你應該修改你的程序. 

第二章:大符號的位置

  另外一個C程序編程風格的問題是對大括號的處理.同縮進大小不同,幾乎沒有什么理由去選擇一種而不選擇另外一種風格,但有一種推薦的風格,它是Kernighan和Ritchie的經典的那本書帶來的,它將開始
的大括號放在一行的最后,而將結束大括號放在一行的第一位,如下所示: 

  if (x is true) { we do y } 
  
  然而,還有一種特殊的情況:命名函數:開始的括號是放在下一行的第一位,如下:
int function(int x) { body of function } 
  
  所有非正統的人會非難這種不一致性,但是,所有思維正常的人明白: (第一) K&R是___對___的,(第二)如果K&R不對,請參見第一條. (:-))......另外,函數也是特殊的,不一定非得一致. 

  需要注意的是結束的括號在它所占的那一行是空的,__除了__它跟隨著同一條語句的繼續符號.如"while"在do-while循環中,或者"else"在if語句中.如下: 

  do { body of do-loop } while (condition); 
  以及
  if (x == y) { .. } else if (x > y) { ... } else { .... }

  理由: K&R. 
  
  另外,注意到這種大括號的放置方法減小了空行的數量,但卻沒有減少可讀性.于是,在屏幕大小受到限制的時候,你就可以有更多的空行來寫些注釋了. 

第三章:命名系統

  C是一種簡潔的語言,那么,命名也應該是簡潔的.同MODULE-2以及ASCAL語言不同的是,C程序員不使用諸如ThisVariableIsATemporaryCounter之類的命名方式.一個C語言的程序員會將之命名為"tmp",這很容易書寫,且并不是那么難以去理解. 

  然而,當混合類型的名字不得不出現的時候,描述性名字對全局變量來說是必要的了.調用一個名為"foo"全局的函數是很讓人惱火的.全局變量(只有你必須使用的時候才使用它) ,就象全局函數一樣,需要描述性的命名方式.假如你有一個函數用來計算活動用戶的數量,你應該這樣命名--"count_active_users()"--或另外的相近的形式,你不應命名為"cntusr()". 

  有一種稱為Hungarian命名方式,它將函數的類型編碼寫入變量名中,這種方式是腦子有毛病的一種表現---編譯器知道這個類型而且會去檢查它,而這樣只會迷惑程序員. --知道為什么Micro$oft為什么會生產這么多"臭蟲"程序了把!!. 

  局部變量的命名應該短小精悍.假如你有一個隨機的整數循環計數器,它有可能有"i",如果沒有任何可能使得它能被誤解的話,將其寫作"loop_counter"是效率低下的.同樣的,""tmp"可以是任何臨時數值的函數變量. 

  如果你害怕混淆你的局部變量的名字,還有另外一個問題,就是稱
function-growth-hormone-imbalancesyndrome. 

第四章:函數

  函數應該短小而迷人,而且它只作一件事情.它應只覆蓋一到兩個屏幕(80*24一屏),并且只作一件事情,而且將它做好.(這不就是UNIX的風格嗎,譯者注). 

  一個函數的最大長度和函數的復雜程度以及縮進大小成反比.于是,如果你已經寫了簡單但長度較長的的函數,而且你已經對不同的情況做了很多很小的事情,寫一個更長一點的函數也是無所謂的. 

  然而,假如你要寫一個很復雜的函數,而且你已經估計到假如一般人讀這個函數,他可能都不知道這個函數在說些什么,這個時候,使用具有描述性名字的有幫助的函數. 

  另外一個需要考慮的是局部變量的數量.他們不應該超過5-10個,否則你有可能會出錯.重新考慮這個函數,將他們分割成更小的函數.人的大腦通??梢院苋菀椎挠涀?件不同的事情,超過這個數量會引起混亂.你知道你很聰明,但是你可能仍想去明白2周以前的做的事情. 

第5章:注釋

  注釋是一件很好的事情,但是過多的注釋也是危險的,不要試圖區解釋你的代碼是注釋如何如何的好:你應該將代碼寫得更好,而不是花費大量的時間去解釋那些糟糕的代碼. 

  通常情況下,你的注釋是說明你的代碼做些什么,而不是怎么做的.而且,要試圖避免將注釋插在一個函數體里:假如這個函數確實很復雜,你需要在其中有部分的注釋,你應該回到第四章看看.你可以寫些簡短的注釋來注明或警告那些你認為特別聰明(或極其丑陋)的部分,但是你必須要避免過多.取而代之的是,將注釋寫在函數前,告訴別人它做些什么事情,和可能為什么要這樣做. 

第六章:你已經深陷其中了. 

  不要著急.你有可能已經被告之"GUN emacs"會自動的幫你處理C的源代碼格式,而且你已經看到它確實如此,但是,缺省的情況下,它的作用還是不盡如人意(實際上,他們比隨便敲出來的東西還要難看- ainfinite number of monkeys typing into GNU emacs would never make a good program) 

  于是,你可以要么不要使用GUN emacs,要么讓它使用sanervalules.使用后者,你需要將如下的語句輸入到你的.emacs文件中.(defun linux-c-mode() "C mode with adjusted defaults for use with the Linux kernel."(interactive) (c-mode) (c-set-style"K&R") (setq c-basic-offset8)) 
  
  這會定義一個M-x Linux-c-mode的命令.當你hacking一個模塊的時候,如何你將-*- linux-c -*-輸入在最開始的兩行,這個模式會自動起作用.而且,你也許想加入如下

  (setq auto-mode-alist (cons '("/usr/src/linux.*/.*\\.〖ch〗$" . linux-c-mode) auto-mode-alist)) 
  
  到你的.emacs文件中,這樣的話,當你在/usr/src/linux下編輯文件的時候,它會自動切換到linux-c-mode . 

  但是,假如你還不能讓emaces去自動處理文件的格式,不要緊張,你還有一樣東西: "縮進" . 

  GNU的縮進格式也很死板,這就是你為什么需要加上幾行命令選項.然而,這還不算太壞,因為GNU縮進格式的創造者也記得K&R的權威, (GNU沒有罪,他們僅僅是在這件事情上錯誤的引導了人們) ,你要做的就只有輸入選項"-kr -i8"(表示"K&R,縮進8個字符). 

  "縮進"有很多功能,特別是當它建議你重新格式你的代碼的時候,你應該看看幫助.但要記住: "縮進"不是風格很差的程序的萬靈丹. 
 
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
香蕉久久夜色精品国产使用方法| 制服.丝袜.亚洲.中文.综合| 精品国产一二三| 久久国产麻豆精品| 26uuu国产日韩综合| 不卡电影一区二区三区| 亚洲少妇屁股交4| 欧美一级片在线看| 99国产精品99久久久久久| 亚洲自拍偷拍av| 精品久久久久久最新网址| 岛国精品一区二区| 亚洲成av人在线观看| 亚洲超碰97人人做人人爱| 日韩国产欧美视频| 欧美极品美女视频| 欧美美女一区二区三区| 成人av网址在线| 91久久精品一区二区二区| 国产一区二区在线观看视频| 亚洲精品高清在线| 国产精品丝袜久久久久久app| 欧美性xxxxxxxx| 成人app软件下载大全免费| 99久久夜色精品国产网站| 欧美午夜影院一区| 日韩欧美激情在线| 欧美人狂配大交3d怪物一区| 色综合一区二区| 国产乱码精品一区二区三区av| 丝瓜av网站精品一区二区| 中文字幕一区二区三区不卡| 国产日韩高清在线| 精品成a人在线观看| 日韩毛片一二三区| 久久精品国产99国产| 北条麻妃一区二区三区| 国产成人激情av| 国产精品一卡二卡在线观看| 91视频www| 91麻豆国产自产在线观看| 欧美一二三在线| 日韩网站在线看片你懂的| 国产精品免费丝袜| 蓝色福利精品导航| 色噜噜狠狠一区二区三区果冻| 日韩一区二区视频| 一区二区三区中文字幕| 国产精品国产精品国产专区不蜜 | 亚洲视频图片小说| 老司机精品视频在线| 一本色道久久综合精品竹菊| 欧美在线免费视屏| 欧美日韩国产一级二级| 国产精品国产三级国产aⅴ原创| 蜜桃av一区二区三区| 国产成人综合自拍| 日韩欧美一二区| 亚洲国产一区视频| 美脚の诱脚舐め脚责91| 欧美亚洲综合久久| 国产精品欧美久久久久无广告 | 色网综合在线观看| 久久久久久日产精品| 国产精品久久久久精k8| 国产精品自拍三区| 精品国产精品一区二区夜夜嗨| 日本欧美加勒比视频| 777奇米四色成人影色区| 亚洲大型综合色站| 精品视频一区三区九区| 久久综合九色综合97_久久久| 全部av―极品视觉盛宴亚洲| 国产一区二区三区精品欧美日韩一区二区三区 | 久久激情五月激情| 7777精品伊人久久久大香线蕉完整版 | 91精品办公室少妇高潮对白| 亚洲色欲色欲www| 色综合色综合色综合色综合色综合 | 91麻豆精品国产91久久久久久| 一区二区三区.www| 欧洲av在线精品| 亚洲mv在线观看| 在线观看91av| 免费高清成人在线| 精品国产伦一区二区三区观看体验 | 欧美四级电影在线观看| 日韩精品欧美成人高清一区二区| 在线91免费看| 国产精品888| 中文字幕一区二区日韩精品绯色| 99v久久综合狠狠综合久久| 亚洲一区欧美一区| 91麻豆精品国产91久久久久 | 日韩一区欧美一区| 欧美性xxxxx极品少妇| 日韩激情一二三区| 日本一区二区三区高清不卡| av午夜一区麻豆| 午夜激情一区二区三区| 国产成人啪午夜精品网站男同| 欧美激情一区三区| 欧美午夜视频网站| 久久66热偷产精品| 91麻豆国产香蕉久久精品| 亚欧色一区w666天堂| 日韩免费视频一区二区| 国产成人精品一区二区三区四区| 亚洲区小说区图片区qvod| 国产成人午夜精品5599| 尤物av一区二区| 日韩欧美一区二区三区在线| 成人免费毛片a| 日韩黄色免费网站| 国产精品麻豆视频| 欧美一区二区啪啪| 国产成人8x视频一区二区| 久久综合成人精品亚洲另类欧美| 99久久免费国产| 国内偷窥港台综合视频在线播放| 欧美一级黄色录像| av中文一区二区三区| 另类综合日韩欧美亚洲| 亚洲曰韩产成在线| 国产精品无圣光一区二区| 3atv一区二区三区| 91在线观看成人| 国产一区二区三区在线观看精品| 一区二区三区四区在线免费观看| 久久影视一区二区| 欧美电影在线免费观看| 91久久线看在观草草青青| 国产在线精品不卡| 日韩电影一区二区三区四区| 一区二区三区在线免费观看| 国产精品免费看片| 国产亚洲欧美中文| 成人国产亚洲欧美成人综合网| 青青草国产成人av片免费| 一区二区三区欧美亚洲| 国产欧美日韩精品一区| 精品少妇一区二区三区日产乱码 | 国产黄人亚洲片| 蜜桃一区二区三区四区| 日韩av电影一区| 亚洲国产精品视频| 亚洲国产一区二区视频| 亚洲一级片在线观看| 亚洲精品视频观看| 亚洲欧美视频一区| 亚洲人成小说网站色在线| 亚洲视频中文字幕| 亚洲人成精品久久久久| 亚洲男女毛片无遮挡| 亚洲精品美腿丝袜| 亚洲综合一二三区| 亚洲第一成人在线| 天天做天天摸天天爽国产一区| 天堂久久久久va久久久久| 三级久久三级久久| 六月婷婷色综合| 国产精品一色哟哟哟| 成人免费毛片a| 99国产精品久久久久| 色94色欧美sute亚洲线路一ni | 香蕉久久夜色精品国产使用方法 | 欧亚一区二区三区| 欧美日韩一区二区三区在线看| 欧美久久久久久久久久 | 麻豆精品在线观看| 国产裸体歌舞团一区二区| 成人晚上爱看视频| 色激情天天射综合网| 欧美日韩成人一区| 欧美mv日韩mv国产网站app| 国产午夜精品一区二区三区视频| 国产精品萝li| 国产成人无遮挡在线视频| 91视频xxxx| 欧美成人三级在线| ㊣最新国产の精品bt伙计久久| 午夜视频在线观看一区二区| 久久福利资源站| 99麻豆久久久国产精品免费优播| 色婷婷一区二区三区四区| 91精品国产91久久久久久一区二区 | 色综合久久综合中文综合网| 欧美日韩精品电影| 国产午夜一区二区三区| 亚洲一区影音先锋| 国产高清精品久久久久| 色综合久久88色综合天天6 | 亚洲欧美一区二区三区久本道91 | 蜜桃久久久久久| 91浏览器在线视频| 精品国精品国产| 亚洲午夜精品17c| k8久久久一区二区三区| 91精品国产综合久久婷婷香蕉| 国产精品福利在线播放|