代码大全学习-7-设计的实践

本文探讨了如何通过迭代、分治、原型实验等设计实践来提升设计质量。强调了合作设计的重要性,并指出设计的程度应根据项目需求适度。文章提供了设计构造检查列表,包括设计实践和目标,旨在帮助开发者创建更高效、易维护的代码结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面一节的启发主要专注于设计的属性,也就是最终的设计是什么样的,这一节的启发则专注于设计的实践,即通过怎样的步骤可以得到好的结果。同样是启发式,所以也有各种各样的方法。

  1. 迭代。一般来说第二次的设计都会比第一次的好,而且我们会从每一次设计中学到东西,从而提高整体的设计水平。
  2. 分而治之,各个击破(Divide and Conquer)。人脑的容量,处理能力都有限,对于大的问题我们只能分层分块去处理来提高效率。自顶向下也好,自底向上也好,各有利弊,要灵活运用,不要一棵树上吊死。
  3. 原型实验(Experimental Prototyping)。有时候实在不知道一种设计是否可行,就需要做简单的原型实验来验证。这里一定要注意原型就是原型,是验证完就扔掉的代码,千万不要想着可以用在正式的项目中。如果那样想的话,设计原型的时候就会考虑太多,付出太多的时间和经历,增加成本,实际上并没有起到原型该起的作用。
  4. 合作设计。三个臭皮匠,顶个诸葛亮。不管是正式的也好,非正式的也好,聊天也好,开会也好,发邮件也好,跟帖子也好,总之,要集思广益。
  5. 设计做到什么程度算好?这个取决于很多个因素,包括文档的正式程度,开发团队的经验,开发的系统的预期寿命,所需的可靠性,安全性,项目的大小等等。
  6. 记录设计过程和结果。除了传统的写一个正式的设计文档以外,还有很多种其他的方法。比如把一些关键的设计决定放在代码的注释里,把讨论的论点和结果都放在一个Wiki上,发备忘的邮件,直接用相机拍下画在白板上的图或者讨论,用大的挂图来展示设计方案,用小的卡片来记录和调整类的职能和关系,用UML图来把设计做到某个层次等等。

总而言之,设计太过详细或者太不详细都是不好的,要适当,不要拘泥于条条框框,要用各种启发式的方法,一次又一次的尝试,最终会得到满意的设计。

最后,附上第五章构建中的设计的checklist。


      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值