布尔 除了最简单、要求语句按照顺序执行的控制结构之外,所有的控制结构都依赖于布尔表达式的求值 嵌套 减少嵌套层次的技术列表: + 重复判断一部分条件 + 转换成if then else + 转换成case语句 + 把深层嵌套的代码提取城单独的子程序 + 使用对象和多态派分 + 用状态变量重写代码 + ...
分类:
其他好文 时间:
2018-04-05 17:36:26
阅读次数:
148
核对表(使用条件语句) if then 语句 + 代码的正常路径清晰吗? + if then测试对等量分支的处理方式正确吗? + 使用了else字句并加以说明吗? + else字句用的对吗? + 用对了if和else子句,即没把他们用反? + 需要执行的正常情况是位于if而不是else子句里吗? i ...
分类:
其他好文 时间:
2018-04-05 01:22:55
阅读次数:
128
核对表(循环) 循环的选择和创建 + 在核实的情况下用while循环取代for循环了吗? + 循环是由内到外创建的吗? 进行入循环 + 是从循环头部进入的循环吗? + 初始化代码是否直接位于循环前面吗? + 循环是无限循环或者事件循环吗?它的结构是否清晰? + 避免使用像for i=1 通9999这 ...
分类:
其他好文 时间:
2018-04-05 01:21:10
阅读次数:
151
只有万不得已时才使用全局数据 !!!就近原则!!!注释紧随代码,变量紧随使用它们的地方 ——Tacey 访问器子程序的优势 + 你获得了对数据的集中控制 + 你可以确保对变量的所有引用都得到了保护 + 自动获取信息隐藏的普遍益处 + 访问器子程序可以很容易转变为抽象数据类型 如何使用访问器子程序: ...
分类:
其他好文 时间:
2018-04-04 23:35:16
阅读次数:
171
核对表(组织直线型代码) + 代码使得语句之间的依赖关系变得明显吗?(顺序相关型) + 子程序的名字使得依赖关系变得明显吗? + 子程序的参数使得依赖关系变得明显吗? + 如果依赖关系不明确,你是否用注释进行了说明? + 你用“内务管理变量”来检查代码中关键位置的顺序依赖关系了吗? + 代码容易按照 ...
分类:
其他好文 时间:
2018-04-04 23:27:32
阅读次数:
162
核对表:基本数据类型 数值概论 + 代码中避免使用神秘数值 + 代码考虑了除零错误了吗? + 类型转换很明显吗? + 如果在一条语句中存在两个不同类型的变量,那么这条语句会想你期望的那样求值吗? + 代码避免了混合类型比较吗? + 程序编译时没有警告信息吗? 整数 + 使用整数除法的表达式能按预期的 ...
分类:
其他好文 时间:
2018-04-04 20:50:10
阅读次数:
153
为变量取好的名字和高效编程同样重要 变量名要 完全 、 准确 地描述出该变量所代表的的事物 变量名的适宜长短和变量的作用域相关,越局部的变量,变量名越短(如循环变量) 常用对仗词: 核对表(变量命名) 命名的一般注意事项 + 名字完整并准确地表带了变量所代表的含义吗? + 名字反映了显示世界的问题而 ...
分类:
其他好文 时间:
2018-04-04 16:44:58
阅读次数:
129
首先要明确开发计算机软件是一个复杂的工程,并不比建设高楼大厦简单。这项活动和传统的土木工程类有相似的部分,也有迥然不同的地方。 主要有下面的几种活动(根据进程推动顺序): + 定义问题 + 需求分析 + 规划构建 + 软件架构/高层设计 + 详细设计 + 编码与调试 + 单元测试 + 集成测试 + ...
分类:
其他好文 时间:
2018-04-03 23:52:23
阅读次数:
147
隐喻的价值绝不应该被低估。隐喻的有点在于其预期的效果:能被所有的人理解。不必要的沟通和误解也因此大为降低,学习与教授更为快速。实际上,隐喻是对概念进行内在化和抽象的一种途径,它让人在更高的层面上思考问题,从而避免低层次的错误。 + 隐喻是启示而不是算法。因此他们往往有一点随意 + 隐喻把软件开发过程 ...
分类:
其他好文 时间:
2018-04-03 23:44:12
阅读次数:
192
问题定义只定义了问题是什么,而不涉及任何可能的解决方案 如果没有好的需求,你可能对问题有总体的把握,但却没有集中问题的特定方面 需求像水。如果冻结了,就容易在上面开展建设 ——无名氏 软件架构是软件设计的高层部分,适用于支撑更细节的设计的框架。 离开了良好的软件架构,你可能瞄准了正确的问题,但却使用 ...
分类:
其他好文 时间:
2018-04-03 23:42:48
阅读次数:
137