《代码大全》设计方法的摘录
设计与原型的关系
设计是一个过程,在这个过程中探讨、启发,寻求最简洁有效的解决方法。设计一个方案是思维从模糊混沌演化到清晰明确的脑力过程,是对大脑中与该方案有关的现有的信息的加工,使其结构化、模型化。
在设计的过程中,大脑需要的信息可能不足,或者信息量过大、过于复杂,超出大脑和设计方案的承载限度,所以可以去做原型。原型实现的过程中会展现更多的信息、细节,以验证方案可行性、补充方案的不足,并将方案的设想落实到原型中以降低方案的抽象、复杂度。
设计与重构的关系
从《重构-改善既有代码的设计》这段话中,可以看出重构是针对已有的方案和代码而言,更侧重于改善。
Make it easier to understand and cheaper to modify.
设计与实现的关系
我们时常遇到如下的难题:
- 设计方案不够充分,需要在实现过程中边补充设计、边写代码。
- 设计方案质量不高,逻辑错误、思路混乱、词不达意等,无法按照设计方案实现。
- 设计方案无法跟上代码的演进而脱节。
- 既有代码很难找到设计方案,例如Linux内核。
上述问题在软件项目规模越大时越突出,项目管理者也会想出各种应对的方法,然而收效甚微。
设计与测试的关系
- 设计人员在设计过程中需要考虑可测试性。
- 测试人员理解设计意图可以更好的指导测试。
- 测试发现的问题需要审视是否符合原始需求、设计方案,而是一致性是否存在问题。