CODE COMPLETE 2e
WhateverYoung
这个作者很懒,什么都没留下…
展开
-
CODE COMPLETE 2e Chapter 6
程序员的首要使命:管理复杂服1、类的目标:开发程序其他部分时,可以安全的忽视程序中尽可能多的其余部分,总体目标是像在现实世界一样操作实体,而不必在意底层的实现;2、隐藏实现细节(修改一处而达到修改所有其他地方)、容易日后提高性能、程序的自我说明性更好;3、类的接口设计:展现出一致的抽象层次、强内聚性、提供成对的服务、把不相关的信息转移到其他类中、尽量让接口可编程而不是表达语义(原创 2015-08-22 15:21:37 · 443 阅读 · 0 评论 -
CODE COMPLETE 2e Chapter 8&9
1、防御式编程:发生危险时保护自己的操作,比如输入数据非法时;2、检查所有来自外部输入的值、检查子程序输入参数、决定如何处理错误的输入数据;3、断言的使用,C++标准的assert宏不支持文本信息,可以自己写一个#define ASSERT(condition, message){ \ if ( !condition ) {原创 2015-08-22 16:20:35 · 629 阅读 · 0 评论 -
CODE COMPLETE 2e Chapter 5
软件的首要技术使命:管理复杂读1、如何管理复杂度: 同一时间处理的本质复杂度减少到最低;2、设计目标:最小的复杂度、易于维护、松散耦合、可扩展性、可重用性、高扇入(多使用低层次的类)、低扇出(少使用同层次的类)、标准技术;3、设计的层次: 软件系统 - 子系统\包 - 类 - 子程序 - 子程序内部设计;4、如何设计? 找出现实世界的对象(辨别属性、确定操作、互相之间的操作原创 2015-08-22 16:37:32 · 408 阅读 · 0 评论 -
CODE COMPLETE 2e Chapter 10
1、在声明变量的时候初始化,第一次使用变量的时候声明和初始化;2、使用const定义常量;3、检查输入参数的合法性;4、尽可能的缩短变量的存活时间跨度小一些,使得不会在两次引用之间无意做了改变,而破坏了程序;5、把相关的操作语句组织到一起;6、尽可能做到变量局部化,有助于提高智力上的可管理性;7、绑定时间:把变量和值绑定在一起的时间,是在编写代码的时候(硬编码,神秘数值)?原创 2015-08-25 16:30:02 · 272 阅读 · 0 评论 -
CODE COMPLETE 2e Chapter 11.1
1、完全、准确的描述出该变量所代表的事物,最好的名字获取方式;2、描述是什么,而不是如何? 选择 employData 而不是inputRec;3、长度9-15 10-16个字符长度;4、将计算限定值,如Total\ Min Max String Pointer Average Sum count Index等 放在名字的最后;5、使用对仗词,next previous;6、为原创 2015-08-25 16:45:28 · 354 阅读 · 0 评论 -
CODE COMPLETE 2e Chapter 7
1、为什么要创建子程序? 降低复杂度(抽象)、引入简单易懂的抽象、避免代码重复、隐藏顺序、简化复杂的布尔判断、改善性能;2、循环,判断嵌套层次较深时,考虑抽象子程序;3、子程序应当有很高的内聚性,即所执行的操作和名字完全相符,不做其他任何事情;4、封装顺序的内聚性(把有顺序关联的操作封装起来);5、反例: Startup() shundown() initialALL(),都是临时原创 2015-08-22 16:09:59 · 433 阅读 · 0 评论