成功软件开发者的9种编程习惯 7
来源:互联网 发布:淘宝网男裤子 编辑:程序博客网 时间:2024/05/21 09:39
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语言需要明确的数据形式的开发工具使用者,要记住确认输入数据形式和程序数据形式是否一致,不然会出现问题。
磨刀不误砍材工
以上的编程习惯是为你自己的方便。实际编程之前,要多做准备(分析,设计)。虽然稍麻烦,但为了编出易懂整齐的程序,不要舍不得花时间准备,不然以后会需要更多的时间来修改,扩展你的程序的。
要时时确认对设定的排列或变量的大小,以避免数据混乱或导致系统出问题。请看下面使用者输入数据的例子: 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语言需要明确的数据形式的开发工具使用者,要记住确认输入数据形式和程序数据形式是否一致,不然会出现问题。
磨刀不误砍材工
以上的编程习惯是为你自己的方便。实际编程之前,要多做准备(分析,设计)。虽然稍麻烦,但为了编出易懂整齐的程序,不要舍不得花时间准备,不然以后会需要更多的时间来修改,扩展你的程序的。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=5707
- 成功软件开发者的9种编程习惯 7
- 成功软件开发者的9种编程习惯 7
- 成功软件开发者的9种编程习惯 7
- 成功软件开发者的9种编程习惯(一)
- 成功软件开发者的9种编程习惯(二)
- 成功软件开发者的9种编程习惯(三)
- 成功软件开发者的9种编程习惯(四)
- 成功软件开发者的9种编程习惯(五)
- 成功软件开发者的9种编程习惯(六)
- 成功软件开发者的9种编程习惯(七)
- 成功软件开发者的9种编程习惯
- 成功软件开发者的9种编程习惯 6
- 成功软件开发者的9种编程习惯 4
- 成功软件开发者的9种编程习惯 6
- 成功软件开发者的9种编程习惯 4
- 成功软件开发者的9种编程习惯 5
- 成功软件开发者的9种编程习惯 3
- 成功软件开发者的9种编程习惯 1
- SCA标准会议实录(2006-06-30)
- --=== 让你的程序开始说话(在VB中使用文字朗读引擎(TTS)技术)===--
- 成为主流厂商必须成为思想的领导者
- XML 简单接口 (SAX2)用Visual Basic 实现的示例
- 写一个DX8的屏幕保护程序-------Alpha 闪烁效果
- 成功软件开发者的9种编程习惯 7
- 纯基于PHP的单点登陆
- 关于算法的一些想法
- vb调用winInet API接口post数据到指定的url
- Microsoft Windows XP--开发人员,准备好了?
- Microsoft Windows XP--开发人员,准备好了?
- 硬汉内贾德:让美国人战栗(推荐)
- 一个基于Yahoo UI的Ajax俄罗斯方块游戏
- 成功软件开发者的9种编程习惯 6