成功軟件開發(fā)者的9種編程習慣
這樣注釋,不懂C語言的人也會看懂各語句意味著什么,各變量指的是什么。寫注釋是好習慣,但不要什么都注釋。注釋是為了好理解,不是為了寫長編文章。
int profit = 1;
/* 贏利等于1 ?? */
int loss = 0;
/* 虧損等于 0 ?? */
/* 如果贏利等于1 */
if(profit == 1)
/* 打印出“得贏利啦”??*/
printf("We made a profit!n");
/* 如果不是 */
else
/*打印出“我們虧損啦”*/
printf("We made a loss!n");
這樣注釋是浪費時間。一般是定變量或變量值的時候需要注釋,還有說明程序的目的,使用某個函數(shù),procedule等的時候也需要。
7. 起名要合理
程序,變量,procedure,structure等名一定要跟它的內容聯(lián)系起來,變量不要起名如”x”,”y”,”z”
也許你會說筆者在上面舉的例子里也用了x,y等,可筆者這樣做的理由是他不牽涉到其他程序,實際開發(fā)軟件的時候,筆者當然會使用有意義的變量名。請看下面例子:
void x(int a, int b)
{
int z;
z = a + b;
printf("z is %dn", z);
}
在這,我們可以知道x做什么,但不知道它意味著什么。a,b,z也一樣。讓我們稍微改過來再看吧:
void sum_of_ages(int jacks_age, int jills_age)
{
int total_age;
total_age = jacks_age + jills_age;
print("total_age is %dn", total_age);
}
雖然沒有注釋,但容易看出來要做什么。起名起得好,沒有注釋也可以。
8. 確認Buffer
要時時確認對設定的排列或變量的大小,以避免數(shù)據(jù)混亂或導致系統(tǒng)出問題。請看下面使用者輸入數(shù)據(jù)的例子: char city[10];
/* 為都市名稱的排列 */
printf("Enter a city name: ");
scanf("%s", city);
printf("City is %sn", city);
在這里,都市名稱設定為10字(英文字)以內。如果使用者輸入10字以上的都市名稱會怎么樣呢?可以說程序失敗或覆蓋Buffer里面的數(shù)據(jù)。不管怎樣,不要做冒險的事,你要檢查文字的長度:
char city[10];
/*為都市名稱的排列*/
printf("Enter a city name: ");
fgets(city, sizeof(city), stdin);
printf("City is %sn", city);
上面已修改的程序是:如果使用者輸入10字以上的都市名,只接受Buffer能接受的長度為止,其外的會不接受。
9. 絕對不相信使用者
這是很重要的規(guī)律。千萬不要相信將要使用你的軟件的人,不要認為使用者會按你希望的方式來操作,反而把他們想成專門發(fā)現(xiàn)程序毛病的人。舉例說,上面的程序就是為了那些輸入都市名更長的的使用者而確認文字長度的。
象C語言需要明確的數(shù)據(jù)形式的開發(fā)工具使用者,要記住確認輸入數(shù)據(jù)形式和程序數(shù)據(jù)形式是否一致,不然會出現(xiàn)問題。
磨刀不誤砍材工
以上的編程習慣是為你自己的方便。實際編程之前,要多做準備(分析,設計)。雖然稍麻煩,但為了編出易懂整齊的程序,不要舍不得花時間準備,不然以后會需要更多的時間來修改,擴展你的程序的。
評論