加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 [代码大全2中文版(完整清晰版)]_部分5

[代码大全2中文版(完整清晰版)]_部分5.pdf

[代码大全2中文版(完整清晰版)]_部分5

hanzip
2012-12-25 0人阅读 举报 0 0 暂无简介

简介:本文档为《[代码大全2中文版(完整清晰版)]_部分5pdf》,可适用于IT/计算机领域

GeneralInformation书名=代码大全(第版)作者=(美)迈克康奈尔(McConnellS)著金戈,汤凌,陈硕,张菲译SS号=页数=丛书名=读秀号=ISBN号=主题词=软件开发(学科:手册)参考文献格式=(美)迈克康奈尔(mcconnells)著金戈汤凌陈硕张菲译代码大全(第版)电子工业出版社封面书名版权前言目录正文第章欢迎进入软件构建的世界什么是软件构建软件构建为何如此重要如何阅读本书关键点第章用隐喻来更充分地理解软件开发隐喻的重要性如何使用软件隐喻常见的软件隐喻软件中的书法:写作代码软件的耕作法:培植系统软件的牡蛎养殖观点:系统生长软件构建:建造软件应用软件技术:智慧工具箱组合各个隐喻更多资源关键点第章三思而后行:前期准备前期准备的重要性前期准备适用于现代软件项目吗准备不周全的诱因关于开始构建之前要做前期准备的绝对有力且简明的论据辨明你所从事的软件的类型迭代开发法对前期准备的影响在序列式开发法和迭代式开发法之间做出选择问题定义的先决条件需求的先决条件为什么要有正式的需求稳定需求的神话在构建期间处理需求变更架构的先决条件架构的典型组成部分花费在前期准备上的时间长度更多资源关键点第章关键的“构建”决策选择编程语言语言描述编程约定你在技术浪潮中的位置“深入一种语言去编程”的例子选择主要的构建实践方法关键点第章软件构建中的设计设计中的挑战设计是一个险恶的问题设计是个了无章法的过程(即使它能得出清爽的成果)设计就是确定取舍和调整顺序的过程设计受到诸多限制设计是不确定的设计是一个启发式过程设计是自然而然形成的关键的设计概念软件的首要技术任务:管理复杂度理想的设计特征设计的层次设计构造块:启发式方法寻找现实世界中的对象形成一致的抽象封装实现细节当继承能简化设计时就继承隐藏秘密(信息隐藏)找出容易改变的区域保持松散耦合查阅常用的设计模式其他的启发式方法关于设计启发的总结*****使用启发式方法的原则设计实践迭代分而治之自上而下和自下而上的设计方法建立试验性原型合作设计要做多少设计才够?记录你的设计成果对流行的设计方法的评论更多资源软件设计一般性问题软件设计理论设计模式广义的设计标准关键点第章可以工作的类类的基础:抽象数据类型需要用到ADT的例子使用ADT的益处更多的ADT示例在非面向对象环境中用ADT处理多份数据实例ADT和类良好的类接口好的抽象良好的封装有关设计和实现的问题包含(“有一个⋯⋯”的关系)继承(“是一个⋯⋯”关系)成员函数和数据成员构造函数创建类的原因应该避免的类总结:创建类的理由与具体编程语言相关的问题超越类:包更多资源关键点第章高质量的子程序创建子程序的正当理由似乎过于简单而没必要写成子程序的操作总结:创建子程序的理由在子程序层上设计好的子程序名字子程序可以写多长如何使用子程序参数使用函数时要特别考虑的问题什么时候使用函数什么时候使用过程设置函数的返回值宏子程序和内联子程序宏子程序在使用上的限制内联子程序关键点第章防范式编程保护程序免遭无效输入数据的破坏断言建立自己的断言机制使用断言的指导建议错误处理技术健壮性与正确性高层次设计对错误处理方式的影响异常隔离程序以免遭由错误造成的损害隔离区与断言的关系辅助调试代码不要自动地把产品版本的限制强加于开发版本之上尽早引入辅助调试的手段采用冒进式编程计划移除调试辅助代码确定在产品代码中该保留多少防范式代码防范式编程时保持防范其他资源关键点第章伪代码编程过程创建类和子程序的步骤概述创建一个类的步骤创建子程序的步骤伪代码通过伪代码编程过程创建子程序设计子程序编写子程序检查代码收尾工作根据需要重复上述步骤伪代码编程过程之外的其他方案关键点第章使用变量的一般事项数据认知数据认知测试有关数据类型的其他资源轻松掌握变量定义隐式声明变量初始化原则作用域使变量引用局部化尽可能缩短变量的“存活”时间减小作用域的一般原则有关缩小变量作用域的说明持续性绑定时间数据类型和控制结构之间的关系为变量指定单一用途关键点第章变量名的力量选择好变量名的注意事项最重要的命名注意事项以问题为导向最适当的名字长度变量名字的效果范围变量名字中的计算值限定词变量名字中的常用反义词为特定类型的数据命名为循环索引命名为状态变量命名为临时变量命名为布尔变量命名为枚举类型命名为常量命名命名规则的力量为什么要有规则?何时采用命名规则正式程度非正式命名规则语言无关规则的指导原则语言相关规则的指导原则混合语言编程的注意事项命名规则示例标准前缀用户自定义类型缩写语义前缀标准前缀的优点创建具备可读性的短名称一般的缩写指导原则语音缩写有关缩写的评论应该避免的名称关键点第章基本数据类型使用数的普遍规则整数浮点数字符和字符串C中的字符串布尔变量枚举类型如果你的语言里没有枚举类型命名常量数组创建你自己的类型(类型别名)为什么创建自己的类型的示例是用Pascal和Ada写的?创建自定义数据类型的指导原则关键点第章不常见的数据类型结构指针用来理解指针的例子使用指针的一般技巧C指针C指针全局数据与全局数据有关的常见问题使用全局数据的理由只有万不得已时才使用全局数据用访问子程序来取代全局数据如何降低使用全局数据的风险其他资源关键点第章组织直线型代码必须有明确顺序的语句顺序无关的语句使代码易于自上而下的阅读把相关的语句组织在一起关键点第章使用条件语句if语句简单ifthen语句ifthenelse语句串case语句为case选择最有效的排序使用case语句的提示关键点第章控制循环选择循环的种类什么时候使用while循环什么时候用带退出的循环何时使用for循环何时使用foreach循环循环控制进入循环处理好循环体退出循环检查端点使用循环变量循环应该有多长轻松创建循环由内而外循环和数组的关系关键点第章不常见的控制结构子程序中的多个返回递归递归的例子使用递归的技巧goto反对goto的论点支持goto的观点关于goto的虚假辩论错误处理和gotogoto和在else子句中的共享代码goto使用原则总结对不常见控制结构的看法其他资源关键点第章表驱动方法表驱动方法使用总则使用表驱动方法的两个问题直接访问表示例:一个月中的天数(DaysinMonth)示例:保险费率例子:灵活的消息格式(FlexibleMessageFormat)构造查询键值索引表访问(Indexed阶梯访问表表查询的其他示例关键点第章一般控制问题布尔表达式用true和false做布尔判断简化复杂的表达式编写肯定形式的布尔表达式用括号使布尔表达式更清晰理解布尔表达式是如何求值的按照数轴的顺序编写数值表达式与比较的指导原则布尔表达式的常见问题复合语句(块)空语句驯服危险的深层嵌套对减少嵌套层次的技术的总结编程基础:结构化编程结构化编程的三个组成部分控制结构与复杂度复杂度的重要性降低复杂度的一般原则其它类型的复杂度关键点第章软件质量概述软件质量的特性改善软件质量的技术开发过程设置目标不同质量保障技术的相对效能缺陷检测率找出缺陷的成本修正缺陷的成本什么时候进行质量保证工作软件质量的普遍原理推荐读物相关标准关键点第章协同构造协同开发实践概要协同构造是其他质量保证技术的补充协同构造有利于传授公司文化以及编程专业知识集体所有权适用于所有形式的协同构造在构造前后都应保持协作结对编程成功运用结对编程的关键结对编程的好处正式检查你期望检查能够带来什么结果检查中的人员角色检查的一般步骤检查中的自尊心检查和代码大全检查总结其他类型的协同开发实践走查代码阅读大型演示协同构造技术的比较参考资料结对编程检查相关标准关键点第章开发者测试开发者测试在软件质量中的角色构造中测试推荐的开发者测试方法先测试还是后测试开发者测试的局限性测试技巧锦囊不完整的测试结构化的基础测试数据流测试等价类划分猜测错误边界值分析几类坏数据几类好数据采用容易手工检查的测试用例典型错误哪些类包含最多的错误?错误的分类不完善的构造过程引发错误所占的比例你期望能发现多少错误测试本身的错误测试支持工具为测试各个类构造脚手架Diff工具测试数据生成器覆盖率监视器数据记录器日志记录器符号调试工具系统干扰器错误数据库改善测试过程有计划的测试重新测试(回归测试)自动化测试保留测试记录个人测试记录推荐读物测试测试脚手架测试优先的开发相关标准关键点第章调试调试概述调试在软件质量中所扮演的角色调试效率的巨大差异让你有所收获的缺陷一种效率低下的调试方法寻找缺陷科学的调试方法寻找缺陷的一些小建议语法错误修正缺陷调试中的心理因素心理取向如何导致调试时的盲目“心理距离”在调试中的作用调试工具明显的和不那么明显的源代码比较工具编译器的警告消息扩展的语法和逻辑检查执行性能分析器测试框架调试器其它资源关键点第章重构软件进化的类型软件进化的哲学重构简介重构的理由拒绝重构的理由特定的重构数据级的重构语句级的重构子程序级重构类实现的重构类接口的重构系统级重构安全的重构不宜重构的情况重构策略推荐读物关键点第章代码调整策略性能概述质量特性和性能性能和代码调整代码调整简介Pareto法则一些无稽之谈何时调整代码编译器优化蜜糖和哥斯拉常见的低效率之源常见操作的相对效率性能测量性能测量应当精确反复调整代码调整方法总结推荐读物算法和数据类型关键点第章代码调整方法逻辑在知道答案后停止判断按照出现频率来调整判断顺序相似逻辑结构之间的性能比较用查找表替代复杂表达式使用惰性求值循环将判断外提(Unswitching)合并循环?????展开尽可能减少再循环内部做的工作哨兵值把最忙的循环放在最内层削减强度数据变换使用整型数而不是浮点数数组维度尽可能少尽可能减少数组引用使用辅助索引使用缓存机制表达式利用代数恒等式削弱运算强度编译时初始化小心系统函数使用正确的常量类型预先算出结果删除公共子表达式子程序将函数重写为内联用低级语言重写代码变得越多事情反而更没变推荐读物关键点第章程序规模对“构筑”的影响交流和规模项目规模的范围项目规模对错误的影响项目规模对生产率的影响项目规模对开发活动的影响活动比例和项目规模程序、产品、系统和系统产品方法论和规模额外资源关键点第章管理“构筑”鼓励良好的编码实践设定标准的考虑事项鼓励良好的编码实践的技术本书的角色配置管理什么是配置管理?需求变更和设计变更软件代码变更工具版本机器配置备份计划有关配置管理的额外资源评估“构筑”进度表评估的方法评估“构筑”的工作量对进度的影响评估与控制如果你落后了该怎么办有关软件评估的额外资源度量有关软件度量的额外资源把程序员当人看程序员们怎样花费时间?性能差异与质量差异信仰问题物理环境有关“把程序员当人看”的额外资源管理你的管理者有关管理构造的额外资源相关标准关键点第章集成集成方式的重要性集成频率阶段式集成还是增量集成阶段式集成增量集成增量集成的益处增量集成的策略自顶向下集成自底向上集成三明治集成风险导向的集成功能导向的集成T型集成集成方法小结Daily哪种项目能用daily持续集成额外资源关键点第章编程工具设计工具源代码工具编辑分析代码质量重构源代码Version数据词典可执行码工具产生目标码除错测试代码微调工具导向的环境打造你自己的编程工具项目特有的工具脚本工具幻境额外资源关键点第章布局与风格基本原则布局的极端情况格式化的基本原理人和计算机对程序的解读好布局有什么用?把布局作为一种信仰良好布局的目标布局技术空白区括号布局风格纯块结构模仿纯块结构使用begin行尾布局哪种风格最优?控制结构的布局格式化控制结构块的要点其他考虑单条语句的布局语句长度用空格使语句显得清楚格式化后续行每行仅写一条语句数据声明的布局注释的布局子程序的布局类的布局类接口的布局类实现的布局文件和程序布局更多资源关键点第章自说明代码外部文档编程风格作文档注释或不注释高效注释之关键注释种类高效注释最佳注释量注释技术注释单行注释代码段注释数据声明注释控制结构注释子程序注释类、文件和程序IEEE标准软件质量保证标准更多资源关键点第章个人性格个人性格是否和本书话题无关聪明和谦虚求知欲诚实交流与合作创造力和纪律偷懒不像你想象中那样起作用的性格矜持经验编程狂人习惯更多资源关键点第章软件开发艺术的有关问题克服复杂性精选编程过程为人写程序其次才是为机器以所用语言编程但思路不受其约束借助规范集中注意力基于问题域编程将程序划分为不同层次的抽象“当心落石”反复再反复不要顽固不化判断折中主义试验关键点第章何处有更多信息关于软件创建的信息创建之外的话题综述资料软件工程综览其他注释过的参考书目期刊初级程序员杂志高级程序员杂志专题出版物软件开发者的读书计划入门级熟练级精通级参加专业组织

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/33

[代码大全2中文版(完整清晰版)]_部分5

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利