质量
GuruDK
这个作者很懒,什么都没留下…
展开
-
可预见性(Prodictability)——设计之美
看了越狱,肯定对Scofield的精心设计所叹服。虽然越狱期间有很多意外,但是基本都在Scofield的设计之中,而这些意外也显示了他的临时应变能力。从一开始,用硬币去卸螺栓,用螺栓磨成内六角螺丝刀去卸抽水马桶。甚至包括出狱之后,衣服,信用卡都在计划之中。软件的复杂度绝对不比越狱的难度低,能从其中全身而退,必然需要精心的设计。 当然,像Scofield一样,不可能在屋子里完...2009-03-01 23:58:06 · 515 阅读 · 0 评论 -
可扩展性(Extensibility)——构建灵活系统的思考
参考资料:《设计模式——可复用面向对象软件的基础》《Object Design: Roles, Responsibilities, and Collaborations》 http://en.wikipedia.org/wiki/Extensibility 从我理解,在软件范畴上,是软件系统本身的属性,或者进一步说是设计的属性,代码的属性。因为我们经常说设计的可扩展性,代码的...2009-02-11 00:20:06 · 943 阅读 · 0 评论 -
可维护性(maintainability)——回到现场
今天说说可维护性,一般来说80%的代码都不是本人进行维护的。 影响可维护性的因素: 1)是否是同一个开发人员。 2)是否有一个很好的code base。 3)是否有完善的文档,文档是否同步。 4)代码是否有注释。 5)维护人员对业务领域是否了解。 软件维护主要工作: 1)修正缺陷。 ...2009-02-12 00:31:11 · 404 阅读 · 0 评论 -
如何提高代码质量
几点思考,记录一下,备忘。 基本包括静态和动态两方面。 1)编码规范。 没有规矩,不成方圆。降低学习成本,带来一致的体验。Don't let me think。 2)静态检查。 使用工具,PMD,CheckStyle等。更有效的是Code Review. 3)动态检查。 编写单元测试,进行验证(基于结果的...原创 2009-02-16 01:20:29 · 152 阅读 · 0 评论 -
可理解性(Understandability)——一个扩展视角
可理解性与可测试性,可维护性,可扩展性,可重用性等属性一起组成了软件开发的内部质量属性。 所有这些质量属性中,我认为最重要的的就是可理解性。 首先我们来看看人是如何行动的。比如我要买一个手机,我会去网上找我喜欢的牌子,了解功能,价格,售后服务等信息。了解了情况之后,我们可能去手机卖场,淘宝等地方去实施购买行为。我在这里想表达的意思是,人们在做出行动之前,都会获取用于指导行...2009-02-17 00:21:18 · 990 阅读 · 0 评论