四級上機編程修養
1、版權和版本
———————
好的程序員會給自己的每個函數,每個文件,都註上版權和版本。
對於C/C 的文件,文件頭應該有類似這樣的註釋:
/************************************************************************
*
* 文件名:network.c
*
* 文件描述:網絡通訊函數集
*
* 創建人: Hao Chen, 2003年2月3日
*
* 版本號:1.0
*
* 修改記錄:
*
*
************************************************************************/
而對於函數來説,應該也有類似於這樣的註釋:
/*================================================================
*
* 函 數 名:XXX
*
* 參 數:
*
* type name [IN] : descripts
*
* 功能描述:
*
* ..............
*
* 返 回 值:成功TRUE,失敗FALSE
*
* 拋出異常:
*
* 作 者:ChenHao 2003/4/2
*
*
================================================================*/
這樣的描述可以讓人對一個函數,一個文件有一個總體的認識,對代碼的易讀性和易維護
性有很大的好處。這是好的作品產生的開始。
2、縮進、空格、換行、空行、對齊
————————————————
i) 縮進應該是每個程序都會做的,只要學程序過程序就應該知道這個,但是我仍然看過不
縮進的程序,或是亂縮進的程序,如果你的公司還有寫程序不縮進的程序員,請毫不猶豫
的開除他吧,並以破壞源碼罪起訴他,還要他賠償讀過他程序的人的精神損失費。縮進,
這是不成文規矩,我再重提一下吧,一個縮進一般是一個TAB鍵或是4個空格。(最好用TAB
鍵)
ii) 空格。空格能給程序代來什麼損失嗎?沒有,有效的利用空格可以讓你的程序讀進來
更加賞心悦目。而不一堆表達式擠在一起。看看下面的代碼:
ha=(ha*128 *key )%tabPtr->size;
ha = ( ha * 128 *key ) % tabPtr->size;
有空格和沒有空格的感覺不一樣吧。一般來説,語句中要在各個操作符間加空格,函
數調用時,要以各個參數間加空格。如下面這種加空格的和不加的:
if ((hProc=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid))==NULL){
}
if ( ( hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid) ) == NULL ){
}
iii) 換行。不要把語句都寫在一行上,這樣很不好。如:
for(i=0;i
我拷,這種即無空格,又無換行的程序在寫什麼啊?加上空格和換行吧。
for ( i=0; i if ( ( a[i] < ’0’ || a[i] > ’9’ ) && ( a[i] < ’a’ || a[i] > ’z’ ) ) { break; } } 好多了吧?有時候,函數參數多的時候,最好也換行,如: CreateProcess( NULL, cmdbuf, NULL, NULL, bInhH, dwCrtFlags, envbuf, NULL, &siStartInfo, &prInfo ); 條件語句也應該在必要時換行: if ( ch >= ’0’ || ch <= ’9’ || ch >= ’a’ || ch <= ’z’ || ch >= ’A’ || ch <= ’Z’ ) iv) 空行。不要不加空行,空行可以區分不同的程序塊,程序塊間,最好加上空行。如: HANDLE hProcess; PROCESS_T procInfo; /* open the process handle */ if((hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid)) == NULL) { return LSE_MISC_SYS; } memset(&procInfo, 0, sizeof(procInfo)); oc = pid; oc = hProcess; |= MSC***A_PROC; return(0); v) 對齊。用TAB鍵對齊你的一些變量的聲明或註釋,一樣會讓你的程序好看一些。如: typedef struct _pt_man_t_ { int numProc; /* Number of processes */ int maxProc; /* Max Number of processes */ int maxProc; /* Max Number of processes */ int numEvnt; /* Number of events */ int maxEvnt; /* Max Number of events */ HANDLE* pHndEvnt; /* Array of events */ DWORD timeout; /* Time out interval */ HANDLE hPipe; /* Namedpipe */ TCHAR usr[MAXUSR];/* User name of the process */
-
日語專業翻譯員工作技巧全攻略
(1)仕事で訳すとはどういうことか。(1)什麼叫翻譯工作。•仕事で訳すとは、「商品として訳す」ということ。お客様のために訳すこと。自分の満足のためではない。•訳語、文體、納期など、お客様の要望に応えるのは當然のこと。お客様の期待を(どこか1...
-
2016年日語商務單詞用語精選
以下是本站小編特地為大家整理的日語常用商務用語詞彙,僅供參考哦!日語假名中文特殊法人(とくしゅほうじん)特殊法人親會社(おやがいしゃ)母公司、控股公司子會社(こがいしゃ)子公司本社(ほんしゃ)總公司支社(ししゃ)分公司社訓(しゃくん)社規経営理念(けいえい...
-
2016日本語能力測試三級閲讀訓練題
日語等級考試是由日本國際交流基金及其財團法人日本國際教育交流協會舉辦,自1984年開始實施,是專為母語為非日語的學習者舉辦的一種日語能力的等級考試。下面是yjbys網小編提供給大家關於日本語能力測試三級閲讀訓練題,希望對大家的備考有所幫助。篇一:東京私は、...
-
2017年職稱日語C級考試語法知識強化題
不放過每一個知識點,尤其是對易混淆的知識點更要花心思理解清楚。以下本站小編整理的2017年職稱日語C級考試語法知識強化題,希望對大家有所幫助,更多信息請關注應屆畢業生網!1***間に、***表示在一定時間幅度內,進行某一動作或作用.例えば:子供が寢ている間に買いも...