Chinaunix首页 | 论坛 | 博客
  • 博客访问: 752221
  • 博文数量: 79
  • 博客积分: 2671
  • 博客等级: 少校
  • 技术积分: 1247
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-02 15:26
个人简介

宅男

文章分类

全部博文(79)

文章存档

2017年(11)

2016年(12)

2015年(6)

2012年(10)

2011年(33)

2010年(7)

分类: LINUX

2012-03-08 18:52:27

昨天leeming同学给我推荐了《系统程序员成长计划》,对于我这样一个在研究生期间有过项目经验快要走上职业道路的人来说,句句集中要害,振聋发聩。。。。。

1.傻瓜可以写出机器能读懂的代码,只有专业程序员才能写出人能读懂的代码

2.如果给函数起名时遇到困难,通常是函数设计不合理。

3.全局变量始终都会占有内存空间,共享库的全局变量是按页分配的,哪怕只有一个字节的全局变量也占用一个page

4.很多初学者包括一些有经验的程序员,在敲完代码的最后一个字符后,马上开始编译和运行,迫不及待的想看到自己的工作成果。快速反馈 有助于满足自己的成就感,但是同时也带来一些问题:

让编译器帮你检查语法错误可以省些时间,但是程序员太专注这些错误了,以为改完这些错误就万事大吉了。其实不然,很多错误编译器是发现不了的,像内存错误和线程死锁等等,这些错误可能逃过简单的测试而遗留在代码中,直到集成测试或者软件发布之后才暴露出来,那时就要花更大的代价去修改它们了。

修改完编译错误之后就运行程序了,运行起来有错误,就轮到调试器上场了。花了不少时间去调试,发现无非是些低级错误,或许你会自责自己粗心大意。但是下次可能还是犯同样的错误。更严重的是这种debug & fix的方法,往往导致头痛医头脚痛医脚,导致低质量的软件。

5.除非确定输入数据时在你的控制内,否则不要用strcpy,strcat,sprintf之类的函数,而要用strncpy,strncat,snprintf代替。

 

阅读(3192) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~