8. 確認buffer
要時時確認對設定的排列或變數的大小,以避免資料混亂或導致系統出問題。請看下面使用者輸入資料的例子: char city[10];
/* 為都市名稱的排列 */
printf("enter a city name: ");
scanf("%s", city);
printf("city is %s/n", city);
在這裡,都市名稱設定為10字(英文本)以內。如果使用者輸入10字以上的都市名稱會怎麼樣呢?可以說程式失敗或覆蓋buffer裡面的資料。不管怎樣,不要做冒險的事,你要檢查文字的長度:
char city[10];
/*為都市名稱的排列*/
printf("enter a city name: ");
fgets(city, sizeof(city), stdin);
printf("city is %s/n", city);
上面已修改的程式是:如果使用者輸入10字以上的都市名,只接受buffer能接受的長度為止,其外的會不接受。
9. 絕對不相信使用者
這是很重要的規律。千萬不要相信將要使用你的軟體的人,不要認為使用者會按你希望的方式來操作,反而把他們想成專門發現程式毛病的人。舉例說,上面的程式就是為了那些輸入都市名更長的的使用者而確認文字長度的。
象c語言需要明確的資料形式的開發工具使用者,要記住確認輸入資料形式和程式資料形式是否一致,不然會出現問題。
磨刀不誤砍材工
以上的程式設計習慣是為你自己的方便。實際程式設計之前,要多做準備(分析,設計)。雖然稍麻煩,但為了編出易懂整齊的程式,不要捨不得花時間準備,不然以後會需要更多的時間來修改,擴充套件你的程式的。
成功軟體開發者的9種程式設計習慣 7
8.確認buffer 要時時確認對設定的排列或變數的大小,以避免資料混亂或導致系統出問題。請看下面使用者輸入資料的例子 char city 10 為都市名稱的排列 printf enter a city name scanf s city printf city is s n city 在這裡,都市...
成功軟體開發者的9種程式設計習慣 5
6.寫好注釋 要養成寫注釋的習慣。特別是別人難以理解的程式或變數一定要注釋,乙個月後,也許你自己也需要看那注釋呢。int x 100 int y 1000 if x y a 0 else a 1 你能知道上面的程式意味著什麼?如果不知道變數x,y和a指的是什麼,那麼很難理解。讓我們給它標個注釋再看吧...
成功軟體開發者的9種程式設計習慣 5
6.寫好注釋 要養成寫注釋的習慣。特別是別人難以理解的程式或變數一定要注釋,乙個月後,也許你自己也需要看那注釋呢。int x 100 int y 1000 if x y a 0 else a 1 你能知道上面的程式意味著什麼?如果不知道變數x,y和a指的是什麼,那麼很難理解。讓我們給它標個注釋再看吧...