06 2010 档案

摘要:这次准备连续写三章的读书笔记,因为这三章讲得都是很基础但又容易让人忽略的细节问题。第14章 组织直线型代码14.1 必须要有明确顺序的语句。  设法组织代码,使得依赖关系变得非常明显。要非常明显,非常是重点。例如下面的子程序就是具备明显的依赖关系:InitExpenseData(), ComputeExpenseData(), PrintComputeDataResult();后面的一个子程序总是... 阅读全文
posted @ 2010-06-24 20:50 Linjian 阅读(467) 评论(0) 推荐(0)
摘要:忘了哪位牛X的大大说过:永远要想着维护你代码的人是一个有暴力倾向并知道你住址的精神病人。  的确如此,最近我又再一次感受到了阅读难以维护的代码是一件多么痛苦的事。我目前的任务是开发一版密码键盘,对方公司发给我一个demo的源代码,值得我参考的模块大约是4000行代码。结果一看,就这么一个小模块,全局变量就有几十个了,埋伏在这个模块的每一个地方。变量名字很多也没有定义好,也没有多少明确的注释。每一次... 阅读全文
posted @ 2010-06-22 21:52 Linjian 阅读(916) 评论(2) 推荐(2)
摘要:最近在学习李先静老师的那本《系统程序员成长计划》,照着例子写了一个循环队列,利用单向循环链表实现,权当练习。1. 单向循环链表  我这里设计的只是一个单向循环链表,当然也可以设计为双向链表,效率应该也高点。只提供了需要用到的、最基本的接口给循环队列调用。要保持文头件的简洁,该给的都要给,不该让用户知道的一概不要加进去,否则会造成头文件组织混乱,给用户造成不必要的麻烦。链表的接口如下:代码  其中,... 阅读全文
posted @ 2010-06-19 17:21 Linjian 阅读(552) 评论(0) 推荐(0)
摘要:开始拜读《代码大全》,顺便写些读书笔记,不打算每一章都写,没这个必要。先从第七章开始。7.1 创建子程序的正当理由  简单地列举,就是:降低复杂度、引入中间的易懂的抽象、避免代码重复、支持子类化、隐藏顺序、隐藏指针操作、提高可移植性、简化复杂的逻辑判断、改善性能;等等。  其实这些理由之间都是有联系的。其中关于可移植性的部分,如果子程序设计得好,可以把底层的、会随着环境而变化的部分抽象出来,写成一... 阅读全文
posted @ 2010-06-19 13:56 Linjian 阅读(664) 评论(0) 推荐(0)