阅读笔记一

保持软件设计的品质。坏的架构设计会招致更坏的架构设计。

开发团队中健康的工作关系将直接有益于软件设计。不健康的关系和个性膨胀会导致不健康的软件。

软件设计的关键品质是内聚和耦合。-- 高内聚(Strong cohesion)和低耦合(Low coupling)

松弛而模糊的架构将导致每个代码组件编写得不好并且相互之间匹配得不好它也会导致重复的代码和工作

    不良架构的影响不仅限于代码它会进一步影响到人团队过程和时间表

    重要的是要在开始设计系统之前知道你打算设计什么如果你不知道它是什么也不知道它将做什么暂时不要开始设计它只设计你知道需要的东西

    扁平化团队结构

设计第一步

确定主要的功能领域

顶层文件结构

如何对事物命名

内部展示的风格

共用的编码惯例

选择单元测试框架

支持基础设施例如版本控制适合的构建系统和持续集成

按照XP过程推进设计和编码要么以结对的方式完成要么经过仔细的复审确保工作的正确性

      架构有助于定位功能添加功能修改功能或修复缺陷它为你提供了一个模板让你将工作纳入到一张系统导航图中清晰的架构设计将导致一致的系统所有决定都应该在架构设计的背景下做出清晰的架构有助于减少功能重复软件架构不是一成不变的需要时就改变它要想做到可以修改架构就必须保持简单牺牲简单性的修改要抵制

    XP原则 -- YAGNI(如果你不是马上需要就不需要去做)。延迟设计决定知道你必须做出这些决定为止不要在你还不知道需求的时候就做出架构决定不要猜测必须保持架构品质只有当开发者们相信它并对它负责时才能做到这一点你的系统应该有一组不错的自动化测试它们让你在进行根本的架构变更时风险最小这为你提供了工作空间对你的代码进行单元测试将带来更好的软件设计所以设计时要考虑可测试性好的项目计划将带来优质的设计分配足够的时间来创建架构杰作它们不会立即出现团队的组织方式必然对它产生的代码有影响随着时间的推移架构也会影响到团队协作的好坏当团队瓦解时代码的交互就很糟糕当团队协作时架构就集成得很好

posted @ 2017-02-12 19:27  Huangliping  阅读(94)  评论(0编辑  收藏  举报