http://blog.youkuaiyun.com/u013354805/article/details/47680211
版权声明:本文为博主原创文章,未经博主允许不得转载。
一. 最近网上看到一本书,感觉还是不错的,因此在这里推荐一下。
此文源于李先静老师的博客,经整理后成文。其中有涉及编程语言,也有项目管理,虽多是经验之谈,但值得我们学习。
下载地址:http://download.youkuaiyun.com/detail/u013354805/9008083
二. 写作背景:
在经历过几个大型的,失败的项目之后,我终于明白没有什么比高素质的程序员更能决定项目的成功了,无论什么过程,什么编程语言和开发工具,离开了高 素质的程序员,什么都是白费力气。毫无疑问,人是软件开发中最重要的因素,但不是每个人都重要,不是什么样的人都重要,只有那些高素质的程序员和那些对项 目有突出贡献的人才是重要的。
书本,这几年我在开源软件吸取了大量的营养,一些思想和经验在broncho项目中也有充分的发挥,可以说是理论,经验和实践的结 合。但我不尝试阐述什么高深的道理,相反我是针对应届毕业生和业余爱好者写的,目的是要让初学者进阶为一个专业的程序员。为什么叫 系统程序员成长计划?程序员的范围太广了, 虽然软件开发有很多相似之处,但是
隔行如隔山,比如对于目前炙手可热的WEB开发,我完全是外行。想什么都讲一点,结果是什么都没有讲清楚,所以我得把培 训计划限定在我熟悉的范围之内。先定义一下系统程序员:从事操作系统内核、DBMS、GUI系统,基础函数库,应用程序框架,编译器和虚拟机等基础软件开 发的程序员。这些培训同样适用于桌面软件和智能手机软件开发,我想对其它软件开发也会有一些启发作用。
三. 文章摘要:
这是其中的一段摘要,我随机摘出来的,具体可以详细下载下来看。
1. 结构的成员顺序变化引发的错误。
在初始化一个结构时,老手可能很少像新手那样老老实实的,一个成员一个成员的为结构初始化,而是采用快捷方式,如:
以上这种方式是非常危险的,原因在于你对结构的内存布局作了假设。如果这个结构是第三方提供的,他很可能调整结构中成员的相对位置。而这样的调整往 往不会在文档中说明,你自然很少去关注。如果调整的两个成员具有相同数据类型,编译时不会有任何警告,而程序的逻辑可能相距十万八千里了。正确的初始化方法应该是(当然,一个成员一个成员的初始化也行):
-
顶
- 1
-
踩