
代码大全2 转载
smilesars
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
三思而后行:前期准备
1、构建活动的准备工作的根本目标在于降低风险。要确认的你的准备工作是在降低风险,而非增加风险2、如果你想开发高质量的软件,软件开发过程必须由始至终关注质量。在项目初期关注质量,对产品质量的 正面影响比在项目末期关注质量的影响要大3、程序员的一部分工作是教育老板和合作者,转载 2011-07-06 23:28:20 · 292 阅读 · 0 评论 -
变量名的力量
1、好的变量名是提高程序可读性的一项关键要素。对特殊种类的变量,比如循环下标和状态变量,需要加以特殊的考虑2、名字要尽可能地具体,那些太模糊或者太通用以致于能够用于多种目的的名字通常都是很不好的3、命名规则应该能够区分局部数据、类数据和全局数据。它们还应当可以区分类型名、具名常量转载 2011-07-19 11:38:30 · 1023 阅读 · 0 评论 -
基本数据类型和不常见的数据类型
1、使用特定的数据类型就意味着要记住各个类型的很多独立的原则。2、如果你的语言支持,创建自定义类型会使得你的程序更容易修改,并更具有自描述性。3、当你用typedef或者其它等价方式创建了一个简单类型的时候,考虑是否更应该创建一个新的类。----------《代码大全2》转载 2011-07-20 16:01:41 · 425 阅读 · 0 评论 -
重构
内容软件演化的类型重构简介特定的重构安全的重构重构策略转载 2011-07-28 15:58:23 · 386 阅读 · 0 评论 -
性能调整策略
性能只是软件整体质量的一个方面,通常不是最重要的。精细的代码调整也只是实现整体性能的一种方法,通常也不是决定性的。相对于代码本身的效率而言,程序的架构、细节设计以及数据结构和算法选择对程序的运行速度和资源占用的影响通常会更大。定量测量时实现性能最优化的关键。定量测量需要找出真正决转载 2011-08-08 15:24:33 · 275 阅读 · 0 评论 -
代码调整技术
内容逻辑循环数据变换表达式子程序用低级语言重写代码变得越多,事情反而越没变转载 2011-08-10 16:46:56 · 312 阅读 · 0 评论 -
程序规模对构建的影响
内容交流和规模项目规模的范围项目规模对错误的影响项目规模对生产率的影响项目规模对开发活动的影响要点随着项目规模的扩大,交流需要加以支持。大多是方法论的关键点都在于减少交流中的问题,而一项方法论的存亡关键也应取决于它能否促进交流。在其他条件都相等的时转载 2011-08-10 17:01:19 · 415 阅读 · 0 评论 -
编程工具
内容设计工具源代码工具可执行码工具工具导向的环境打造你自己的编程工具工具幻境要点程序员有时会在长达数年的时间里忽视某些最强大的工具,之后才发现并使用之。好的工具能让你的日子过得安逸得多。下面这些工具已经可用了:编辑、分析代码质量、重构、版本控制、除错、测试转载 2011-08-11 11:09:36 · 327 阅读 · 0 评论 -
管理构建
内容鼓励良好的编码实践配置管理评估构建进度表度量把程序员当人看管理你的管理者要点好的编码实践可以通过“贯彻标准”或者“使用更为灵活的方法”来达到。配置管理,如果应用得当,会使程序员的工作变得更加轻松。特别包括变更控制。好的软件评估是一项重大挑战。成转载 2011-08-10 17:24:44 · 241 阅读 · 0 评论 -
布局与风格
内容基本原则布局技术布局风格控制结构的布局单条语句的布局 注释的布局子程序的布局类的布局要点可视化布局的首要任务是指明代码的逻辑组织。评估该任务是否实现的指标包括准确性、一致性、易读性和易维护性。外表悦目比起其他指标是最不重要的。然而,如果其他指标都达到了转载 2011-08-11 11:46:16 · 397 阅读 · 0 评论 -
集成
内容集成方式的重要性集成频率——阶段式集成还是增量集成增量集成的策略Dialy Build与冒烟测试要点构建的先后次序和集成的步骤会影响设计、编码、测试各类的顺序。一个经过充分思考的集成顺序能减少测试的工作量,并使调试变容易。增量集成有若干变型,而转载 2011-08-11 10:19:40 · 736 阅读 · 0 评论 -
自说明代码
要点该不该注释是个需要认真对待的问题。差劲的注释只会浪费时间,帮倒忙;好的注释才有价值。源代码应当含有程序大部分的关键信息。只要程序依然在用,源代码比其他资料都能保持更新,故而将重要信息融入代码是很有用处的。好代码本身就是最好的说明。如果代码太糟,需要大量注释,应先试转载 2011-08-12 15:19:30 · 398 阅读 · 0 评论 -
个人性格
内容个人性格是否和本书的话题无关聪明和谦虚求知欲诚实交流与合作创造力和纪律懒惰不如你想象中那样起作用习惯要点人的个性对编程能力有直接影响最有关系的性格为:谦虚、求知欲、诚实、创造性和纪律,以及高明的偷懒。程序员高手的性格与天分无关,而任何事都与个人转载 2011-08-12 15:38:04 · 311 阅读 · 0 评论 -
调试
内容调试概述寻找缺陷修正缺陷调试中的心理因素调试工具——明显的和不那么明显的要点调试同整个软件开发的成败息息相关。最好解决之道是使用本书中介绍的其他方法来避免缺陷的产生。然而,花点时间来提高自己的调试技能还是很划算的,因为优秀和拙劣的调试表现之间的差距至少是10:1。要想成功,系转载 2011-07-26 15:17:15 · 295 阅读 · 0 评论 -
使用变量的一般事项
1、数据初始化过程很容易出错,所以请用本章描述的初始化方法来避免由于非预期的初始值而造成的错误2、最小化每个变量的作用域。把同一变量的引用点集中在一起。把变量限定在子程序或类的范围之内。避免使用全局数据。3、把使用相同变量的语句尽可能集中在一起。4、早期绑定会减低灵活性,但有助于转载 2011-07-16 00:28:38 · 292 阅读 · 0 评论 -
隐喻
1、隐喻是启示而不是算法。因此它们往往有一点随意2、隐喻把软件开发过程与其他你熟悉的活动联系在一起,帮助你更好地理解。3、有些隐喻比其他一些隐喻更贴切4、通过把软件的构建过程比作是房屋的建设过程,我们可以发现,仔细的准备是必要的, 而大型项目和小型项转载 2011-07-05 22:08:03 · 371 阅读 · 0 评论 -
关键的“构建”决策
1、选择编程语言编程语言的选择从多个方面影响生产率和代码质量ada、assembly language(汇编语言)、C、C++、C#、Cobol、Fortran、Java、JavaScript、Perl、PHP、PythonSQL、Visual Basic2、编程约定构建和实现必转载 2011-07-07 22:18:16 · 287 阅读 · 0 评论 -
高质量的子程序
1、创建子程序最主要的目的是提高程序的可管理性,当然也有其他一些好的理由。其中,节省代码空间只是一个次要原因;提高可读性、可靠性和可修改性等原因都更重要一些。2、有时候、把一些简单的操作写成独立的子程序也非常有价值。3、子程序可以按照其内聚性分为很多类,而你应该让大多数子程序具有转载 2011-07-12 21:11:19 · 222 阅读 · 0 评论 -
可以工作的类
1、类的接口应提供一致的抽象。很多问题都是由于违背该原则而引起的。2、类的接口应隐藏一些信息——如某个系统接口、某项设计决策、或一些实现的细节3、包含往往比继承更为可取——除非你要对“是一个/is a”的关系建模。4、继承是一种由游泳的工具,但它却会增加复杂度,这有违于软件的首要转载 2011-07-11 21:31:11 · 240 阅读 · 0 评论 -
软件质量概述
开发高质量代码最终并没有要求你付出更多,只是你需要对资源进行重新分配,以低廉的成本来防止缺陷出现,从而避免代价高昂的修正工作。并非所有的质量保证目标都可以全部实现。明确哪些目标是你希望达到的,并就这些目标和团队成员进行沟通。没有任何一种错误检测方法能够解决全部问题,测试本身并不是转载 2011-07-22 16:46:30 · 349 阅读 · 0 评论 -
语句1
1、组织直线型代码1)组织直线型代码的最主要原则是按照依赖关系进行排列。2)可以用好的子程序名、参数列表、注释、以及——如果代码足够需要——内务管理变量来让依赖关系变得更明显。3)如果代码之间没有顺序依赖关系,那就设法使相关的语句尽可能地接近。2、使用条件语句1)对于简单的if-转载 2011-07-21 11:38:15 · 369 阅读 · 0 评论 -
语句2
4)不常见的控制结构(P412)转载 2011-07-21 16:23:03 · 254 阅读 · 0 评论 -
软件构建中的设计
1、设计中的挑战设计是一个险恶的问题设计是个了无章法的过程。犯错正式设计的关键所在,在初期比在编码后犯错要好得多;很难判断何时才算是“足够好”了设计就是确定取舍和调整顺序的过程设计受到诸多限制设计是不确定的设计是一个启发式过程设计是自然而然形成的。在不断的设计评估、非正式讨论、写转载 2011-07-08 21:31:05 · 269 阅读 · 0 评论 -
防御式编程
1、最终产品代码中对错误的处理方式要比“垃圾进,垃圾出”复杂得多。2、防御式编程技术可以让错误更容易发现、更容易修改,并减少错误对产品代码的破坏。3、断言可以帮助人尽早发现错误,尤其是在大型系统和高可靠性的系统中,以及快速变化的代码中。4、关于如何处理错误输入的决策是一项关键的错转载 2011-07-13 21:38:24 · 239 阅读 · 0 评论 -
协同构建
1、结对编程 关键:用编码规范来支持结对编程不要让结对编程变成旁观不要强迫在简单的问题上使用结对编程有规律地对结对人员和分配的工作任务进行轮换鼓励双方跟上对方的步伐确认两个人都能够看到显示器不要强迫程序员与自己关系紧张的人组对避免新手组合指定一个组长2、详查(正式检查)转载 2011-07-22 17:18:18 · 334 阅读 · 0 评论 -
伪代码编程过程
1、创建类和子程序的步骤概述2、伪代码某种用来描述算法、子程序、类或完整程序的工作逻辑的、非正式的、类似于英语的记法。3、通过伪代码编程过程创建子程序4、伪代码编程过程的替代方案要点1、创建类和子程序通常都是一个迭代的过程。在创建子程序的过程中获得的认识常常会反过来影响类的设计。转载 2011-07-14 22:17:28 · 719 阅读 · 0 评论 -
开发者测试
内容开发者测试在软件质量中的角色开发者测试的推荐方法测试技巧锦囊典型错误测试支持工具改善测试过程保留测试记录要点开发人员测试时完整测试策略的一个关键部分。独立测试也很重要,但这一主题超出了本书的范围同编码之后编写测试用例相比较,编码开始之前编写测试用例,工作量和花费的时间差不多,转载 2011-07-25 15:38:46 · 632 阅读 · 0 评论 -
软件工艺的话题(全书完)
内容征服复杂性精选开发过程首先为人写程序,其次才是为机器深入一门语言去编程,不浮于表面借助规范集中注意力基于问题域编程当心落石迭代,反反复复,一次又一次汝当分离软件与信仰要点编程的主要目的之一是管理复杂性编程过程对最终产品有深远影响合作开发要求团队转载 2011-08-12 15:56:14 · 399 阅读 · 0 评论