摘要: 第二章 用隐喻更充分的理解软件开发 什么是隐喻? 通过生活中或者工作中一些现有的事物作为模型,来描述那写未知的,或者不正确的事物,以期望在钻研的路上,得到指引,得到方向,得到目标。 1. 隐喻的重要性 在人类发展史上,很多的成就是在隐喻的帮助下出现的,比如气体的分子运动来至一个叫“撞球”的运动,光的波动理论来至声音的波动传播,等等。 隐喻并不是总是带来好处的,有的时候,也会将我们带入歧途。那么如何找到一个恰当的隐喻帮助我们实现目标,就是最重要的地方了。我想,这应该也是本章的重点。 从一系列“不太合适”的隐喻找到“更好”的隐喻...... 2. 如何使用软件隐喻 作者将隐喻起到的... 阅读全文
posted @ 2012-08-30 13:15 zhouzidan 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 一、变量的定义 这里面需要注意的是隐式声明,有些编程语言当你没有为声明某一个变量类型的时候,会自动的为其声明类型。 因为开发人员没有对其进行使用规范标准的声明,很容易引起错误的发生,而且当错误发生的时候,错误的查找也会显的很费神。 二、变量的初始化 关于变量初始化时候一些常见的问题: 1)从未对其赋值(尚未初始化) 2)变量的值已经过期 (变量在某个... 阅读全文
posted @ 2012-09-29 10:31 zhouzidan 阅读(1353) 评论(0) 推荐(0) 编辑
摘要: 从微观的角度关注编程过程,也就是关注创建单独的类及其子程序的过程的具体步骤。 9.1创建类和子程序的步骤概述 创建一个类的步骤: 1)创建类的总体设计 2)创建类中的子程序 3)复审并测试整个类 创建子程序的步骤: 一般子程序的实现是比较简单的、直截了当的, 1)设计子程序 2)检查设计 3)编写子程序的代码 4)复审并测试代码 ... 阅读全文
posted @ 2012-09-28 18:34 zhouzidan 阅读(625) 评论(0) 推荐(0) 编辑
摘要: 防御式编程的主要思想是:子程序应该不因传入错误的数据而遭到破坏,哪怕是由其他子程序产生的错误数据。程序的作用通常是输入一段数据,然后经过子程序的处理之后,输出一段数据。然而输入的数据可能是非法的,不是所期望的数值,子程序接收并使用的时候,会使得子程序出现错误或者崩溃等。这里的防御式编程就是说,使得程序处理这些非法数据的能力,在力所能及的范围内,拥有处理问题的能力,保护自己。比如除法运算中的除数不能为0。 一、保护程序免遭非法输入数据的破坏 对于成熟的程序,应该是“垃圾数据进来,什么数据都不出”,保证数据输出的都是正确的数据。 三种方法来处理进来垃圾数据的情况: ... 阅读全文
posted @ 2012-09-24 16:23 zhouzidan 阅读(1517) 评论(0) 推荐(1) 编辑
摘要: 什么是子程序?子程序是为实现一个特定的目的而编写的一个可以被调用的方法或过程。比如:JAVA中的方法。 什么是高质量?高质量是没有滥用子程序,在创建子程序的时候,满足各种各样的规范特征,具备各种各样的优点的子程序成为高质量的子程序 一、创建子程序的正当理由 降低复杂度:通过子程序可以帮助开发者隐藏一些信息,这样就不用开发人员考虑被隐藏部分的具体逻辑数据了。 引入中间、易懂的抽象:在隐藏信息的同时,给子程序一个通俗易懂的名称,那么对于代码阅读方面有很大帮助。 避免代码重复:子程序通... 阅读全文
posted @ 2012-09-19 20:36 zhouzidan 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 整章讲述了如何编写出高质量的类。 文章的开头部分,讲述了计算机时代的发展史: 1. 程序员基于语句思考编程问题 2. 程序员基于子程序思考问题 3. 程序员基于类思考问题。估计下一阶段就是基于包思考问题了。 6.1 类的基础:抽象数据类型 什么是类? 一组数据与子程序构成的集合,这些数据与子程序共同拥有一组内聚的、明确定义的职责。... 阅读全文
posted @ 2012-09-15 17:28 zhouzidan 阅读(1382) 评论(0) 推荐(0) 编辑
摘要: 《Coding complete 代码大全》 阅读笔记12/9/1 第三章 软件创建的先决条件 一. 前期准备的重要性 如题,在本节中主要讲述了前期准备在整个软件开发过程中的重要性。 创造出高质量的项目的实践方法是在项目的前期,中期和后期都强调质量。 项目的后期主要是测试,只是质量保证的一个策略,虽然会发现一些Bug,但是类似“程序的结构 错误”,“使用错误的方法制造了这个产品”。 项目的中期,主要是项目的构建环节,项目的构建的依据在哪儿,依据还是前期准备的需求说明 书和设计说明书。所以说,前期准备的是否充分,已经... 阅读全文
posted @ 2012-09-05 18:05 zhouzidan 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 第一章 什么是软件构建? “构建”通常是指建设的过程。构建过程可能包含有计划,设计,检查工作的一些方面,但是在大多数时候,构建就是指创建事物过程中动手的那些部分。 软件开发是一个复杂的过程。列表如下: 定义问题 需求分析 规划构建 软件结构 详细设计 编码与测试 单元测试 集成测试 集成 系统测试 保障维护 这里面除了第一个“定义问题”,其他每个环节都与构建有关系。 构建活动主要关注于编码与调试,但也包含详细设计,单元测试,集成测试以及其他的一些活动。 构建活动的重要性: 软件活动是软件开发的主要活动。 构建活动是软件开发的核心活动。 把主要精力集中于构建活动... 阅读全文
posted @ 2012-08-30 13:08 zhouzidan 阅读(524) 评论(0) 推荐(0) 编辑