成功軟件開發(fā)者的9種編程習(xí)慣
這樣注釋,不懂C語言的人也會看懂各語句意味著什么,各變量指的是什么。寫注釋是好習(xí)慣,但不要什么都注釋。注釋是為了好理解,不是為了寫長編文章。
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");
這樣注釋是浪費(fèi)時間。一般是定變量或變量值的時候需要注釋,還有說明程序的目的,使用某個函數(shù),procedule等的時候也需要。
7. 起名要合理
程序,變量,procedure,structure等名一定要跟它的內(nèi)容聯(lián)系起來,變量不要起名如”x”,”y”,”z”
也許你會說筆者在上面舉的例子里也用了x,y等,可筆者這樣做的理由是他不牽涉到其他程序,實際開發(fā)軟件的時候,筆者當(dāng)然會使用有意義的變量名。請看下面例子:
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. 確認(rèn)Buffer
要時時確認(rèn)對設(shè)定的排列或變量的大小,以避免數(shù)據(jù)混亂或?qū)е孪到y(tǒng)出問題。請看下面使用者輸入數(shù)據(jù)的例子: char city[10];
/* 為都市名稱的排列 */
printf("Enter a city name: ");
scanf("%s", city);
printf("City is %sn", city);
在這里,都市名稱設(shè)定為10字(英文字)以內(nèi)。如果使用者輸入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ī)律。千萬不要相信將要使用你的軟件的人,不要認(rèn)為使用者會按你希望的方式來操作,反而把他們想成專門發(fā)現(xiàn)程序毛病的人。舉例說,上面的程序就是為了那些輸入都市名更長的的使用者而確認(rèn)文字長度的。
象C語言需要明確的數(shù)據(jù)形式的開發(fā)工具使用者,要記住確認(rèn)輸入數(shù)據(jù)形式和程序數(shù)據(jù)形式是否一致,不然會出現(xiàn)問題。
磨刀不誤砍材工
以上的編程習(xí)慣是為你自己的方便。實際編程之前,要多做準(zhǔn)備(分析,設(shè)計)。雖然稍麻煩,但為了編出易懂整齊的程序,不要舍不得花時間準(zhǔn)備,不然以后會需要更多的時間來修改,擴(kuò)展你的程序的。
評論