摘要:
FxCop是利用规则库来分析托管代码的工具。可以创建任意目的规则——命名约定、安全性、特性使用等。在Visual Studio Team System 2005中,FxCop经过改头换面,成为了托管代码分析(Managed Code Analysis)工具集成在IDE中,这使得分析工作可以通过应用程... 阅读全文
摘要:
单元测试目的是为了保证代码按照程序员的预期运行,往往关注的是比其他测试更低的层次,从而确定代码的底层功能是否与期望一致。对于API框架而言,单元测试的一个重要优点在于测试在编译阶段就引入了依赖关系,从而使之更容易确定代码的更改是否会影响API表示的契约。单元测试程序集与被测代码一般要分离开,这样可以... 阅读全文
摘要:
使用Architecture Explorer分析应用程序Architecture Explorer和依赖图可以帮助我们了解所有的项目,包括小项目和大项目。Architecture Explorer可用于研究现有代码,还可以用依赖图选择要研究的代码并对其进行可视化。Architecture Expl... 阅读全文
摘要:
用顺序图可以对系统的消息进行建模并使之可视化,通过组件图可以看到实现系统功能的组件,以及其他一些系统组件(如Web服务、用户接口和COM组件等)。组件图描述的是应用程序或系统的不同组件之间的关系。组件图显示的是软件系统设计的一部分。这些组件可以是可执行程序、DLL,甚至可以是整个系统。在这个层面上,... 阅读全文
摘要:
软件架构简介可视化设计: 1. 使想象中的系统可视化 2. 能指定系统的结构和行为 3. 提供一个能够指导系统构建的模板 4. 记录所做的决策,形成文档Microsoft的Visual Studio 从2010开始建模策略基于两种思想:域专用语言(Domain-Specific Langua... 阅读全文
摘要:
我们怎样拥抱变化软件系统应对快速变化的终极利器,是以领域模型为核心建立的软件架构。软件发展的基本特征就是变更,不论是源于需求的变更还是源于技术的变更。运用领域模型,通过图形化的分析,可以让我们快速掌握真实世界的规律,进而指导软件的设计与开发。领域模型是联系真实世界与软件世界的枢纽,首先通过对真实世界... 阅读全文
摘要:
什么时候重构?重构是一种习惯,一种编程习惯。这种习惯让我们迅速由菜鸟转变为大牛,可以编写出高质量、优秀的程序。问题的关键就是降低修改成本与风险的方法,而这个方法就是系统重构。走出重构的第一步对每一个人来说都是一次心灵的考验,甚至许多人总是徘徊于路口踌躇不前,但一旦跨出去了,它将成为你生命的一部分。没... 阅读全文
摘要:
第五步:降低程序依赖度1. 依赖反转原则在面向对象编程的时候引入了接口的概念,引入接口的目的是希望我们在编写程序的时候能保证足够的内聚,即它的业务逻辑不要为更底层的具体实现所耦合,这就是依赖反转原则。 a. 高层次的模块不应该依赖与低层次的模块,两者都应该依赖于抽象接口 b. 抽象接口不应该依赖... 阅读全文
摘要:
第三步:提高代码复用率经过重构的第一步,我们将令人头疼的大函数分解成了大小适中的一个个小函数,经过重构第二步,我们将无所不能的大对象拆分成了功能内聚的一个个小对象。随后,我们需要考虑的问题就是优化我们的代码了。1. DRY原则:Don't Repeat Yourself.2. 如何识别相似或相近功能... 阅读全文
摘要:
支撑决策的数据:计划——根据已知的数据,设定合理的目标,预测未来可能发生的情况,制定可行的计划。检查——我们借助度量数据,识别现实与预期的差异、面临的问题、改进的空间。指标:一个指标体系通常包含:指标的维度,每个维度里可选的具体指标,指标的优先级评估,指标的数据采集、分析和使用方法。模型本身其实并不... 阅读全文