随笔分类 -  代码大全读书笔记

代码大全code complete,读书笔记
摘要:必须有明确顺序的语句 如果语句之间存在依赖关系,并且这些关系要求你把语句按照一定的顺序加以排列,那么请设法使得这些关系变得明显。 设法组织代码,使依赖关系变得非常明显; 使子程序名能凸显依赖关系; 利用子程序参数明确显示依赖关系; 用注释对不清晰的依赖关系进行说明; 用断言或者错误处理代码来检查依赖 阅读全文
posted @ 2019-09-17 15:36 Liam-Ji 阅读(197) 评论(0) 推荐(0)
摘要:结构体 使用结构体的理由: 用结构体来明确数据关系; 用结构体简化对数据块的操作; 用结构体来简化参数列表; 用结构体来减少维护。 指针 使用指针的一般技巧 正确地使用指针要求程序员采用一种双向策略。第一,要首先避免造成指针错误;第二,在编写代码之后尽快检测出指针错误。 把指针操作限制在子程序或类里 阅读全文
posted @ 2019-09-16 17:45 Liam-Ji 阅读(265) 评论(0) 推荐(0)
摘要:数值概论 下面一些建议能够使你在使用数的时候少犯错误。 避免使用神秘数值 修改会变得更可靠; 修改会变得更容易; 你的代码变得更可读。 如果需要可以使用硬编码的0和1; 预防除零错误; 使类型转换变得明显; 避免混合类型的比较; 注意编译器的警告。 整数 在用整数的时候,要注意下面的注意事项。 检查 阅读全文
posted @ 2019-09-14 22:20 Liam-Ji 阅读(244) 评论(0) 推荐(0)
摘要:选择好变量名的注意事项 一个好的变量名是可读的、易记得得和恰如其分的。 最重要的命名注意事项 最重要的考虑事项是,该名字要完全、准确地描述出该变量所代表的事物。通常,对变量的描述就是最佳的变量名。 以问题为导向 一个好记的名字反映的通常是问题,而不是解决方案。 最适当的名字长度 当变量名的平均长度在 阅读全文
posted @ 2019-09-13 19:00 Liam-Ji 阅读(300) 评论(0) 推荐(0)
摘要:本章中用“变量”一词同时指代对象和内置数据类型,如整数和数组等。“数据类型”一词通常指内置数据类型,而“数据”一词则可能代表对象,也可能代表内置数据类型。 数据认知 创建有效数据的第一步是了解所要创建的数据种类。积累大量的数据类型对于程序员来说至关重要。 有关数据类型的更多资源 Cormen《Int 阅读全文
posted @ 2019-09-13 12:06 Liam-Ji 阅读(346) 评论(0) 推荐(0)
摘要:本章从微观上关注编程过程——也就是关注创建单独的类及其子程序的特定步骤。本章还将讲述伪代码编程过程,这种编程有助于减少设计和编写文档所需的工作量,同时提高这两项的工作质量。 创建类和子程序的步骤概述 先对一个类做总体设计,列出这个类内部的特定子程序,创建这些子程序,然后从整体上复查这个类的创建结果。 阅读全文
posted @ 2019-09-12 16:39 Liam-Ji 阅读(2722) 评论(0) 推荐(0)
摘要:防御式编程的主要思想是:子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。更一般地说,其核心思想是要承认程序会有问题,都需要被修改,聪明的程序员应该根据这一点来编程序。 保护程序免遭非法输入数据的破坏 通常有三种方法来处理进来垃圾数据: 1. 检查所有来源于外部数据的值; 2. 阅读全文
posted @ 2019-09-12 14:15 Liam-Ji 阅读(1730) 评论(0) 推荐(0)
摘要:子程序是为实现一个特定的目的而编写的一个可被调用的方法(method)或过程(procedure)。 创建子程序的正当理由 这里列出一些创建子程序的正当理由: 降低复杂度 引入中间、易懂的抽象 避免代码重复 支持子类化 隐藏顺序 隐藏指针操作 提高可移植性 简化复杂的布尔判断 改善性能 除此之外,创 阅读全文
posted @ 2019-09-11 10:17 Liam-Ji 阅读(379) 评论(0) 推荐(0)
摘要:设计中的挑战 软件设计意味着去构思、创造或发明一套方案,把一份计算机软件的规格说明书转变为可实际运行的软件。设计就是把需求分析和编码调试连在一起的活动。 设计是一个险恶的问题:只有通过解决或部分解决才能被明确的问题。 设计是个了无章法的过程(即使他能得出清爽的成果)。 设计就是确定取舍和调整顺序的过 阅读全文
posted @ 2019-09-11 10:14 Liam-Ji 阅读(391) 评论(0) 推荐(0)
摘要:选择编程语言 使用熟悉的语言,生产率比使用不熟悉的语言高。 使用高级语言比使用低级语言生产率高。 编程约定 在高质量软件中,可以看到“架构的概念完整性”与“其底层实现”之间的关系。实现必须与架构保持一致,并且这种一致性是内在的、固有的。 成功编程的关键就在于避免随意的变化,这样你的大脑就可以专注于那 阅读全文
posted @ 2019-09-11 09:50 Liam-Ji 阅读(212) 评论(0) 推荐(1)
摘要:前期准备的重要性 使用高质量的实践方法是那些能创造高质量软件的程序员的共性。这些高质量的实践方法在项目初期、中期、末期都强调质量。 如果你在项目末期强调质量,那么你会强调系统测试。如果你在项目中期强调质量,那么你会强调构建实践。如果你在项目开始阶段强调质量,那么你会计划、要求并且设计一个高质量的产品 阅读全文
posted @ 2019-09-11 09:46 Liam-Ji 阅读(317) 评论(0) 推荐(0)
摘要:隐喻的重要性 重要的研发成果常常产自类比(analog)。通过把你不太理解的事物和一些你较为理解、且十分类似的事物做比较,你可以对这些不太理解的东西产生更加深刻的理解。这种使用隐喻的方法叫做“建模(modeling)”。 常见的软件隐喻 写作代码、软件的耕作法:培植系统、软件的牡蛎养殖观点:系统生长 阅读全文
posted @ 2019-09-01 19:06 Liam-Ji 阅读(250) 评论(0) 推荐(0)
摘要:软件构件的过程,用于指导编程过程,随性编程久了会有瓶颈感,且不知道问题出在哪里,这时候可以对照软件构架过程检查自己的编码过程 阅读全文
posted @ 2019-08-24 22:20 Liam-Ji 阅读(1280) 评论(0) 推荐(0)