给程序设计也建个模

来源:互联网 发布:北京梨园淘宝城 编辑:程序博客网 时间:2024/03/28 21:53
        我曾经写了一片文章专门讨论设计思想的传承 ,其中提到了一个就是建立理论模型,理论模型可以很好被别人理解和学习。然而理论模型从哪儿来呢?
        我认为有两个方面:
  1. 已有的成熟的理论。这一般是用在大型的框架级别设计上,此时我们可以借鉴已被证实的成熟的理论模型,指导我们的开发,使我们少走或者不走弯路。提高开发的效率和质量,同样也降低了软件设计的传承难度,提高了可维护性。但是并不是每一个软件设计都有成熟模型可以借鉴,而且平时经常做的小的算法和功能设计就更是如此。所以我们需要第二个路径。
  2. 自己对设计进行建模。我们碰到一个设计问题,无论是结构设计还是算法设计,都应该实现进行建模,这个建模可以是简单的在大脑中形成,也可以形成于纸面的设计文档。不应该不假思索就动手写代码。下面是前段时间碰到的一个问题,可以作为例子:
        问题是这样的,需要在一个类似excel的表格中对一些格子绘制自定义边框宽度的封闭的边框,而这些边框的设计是针对原始模型的,原始模型通过一些规则扩展来生成的最后的表格。而扩展后的格子能够找到原型中的设计信息。如何设计呢?如果想都不想就动手写的话,肯定是针对每种情况进行处理。但是这样的代码复杂而且bug率必然很高,因为你很可能不能考虑全所有情况。
        如果稍加思索就可以做一个简单建模:我们设计时的框都是矩形的,所以每个矩形都有四个边,刚好的每个格子的四个边对应。如果我们把框内的所有格子的边框设成相应的边框设计宽度,那么正确的范围就出来了,只需要把中间的设置了边框的格子边框去掉,剩下的就是我们要的区域边框了。
        如何去除区域中间的边框呢?每个格子的每一个边都是由两个相邻的格子决定的(表格最边上的边除外),中间的格子边和区域边框的区别是什么?区域内的每个边的两个格子都是在区域范围内,而区域边框处的两个格子一个是区域内,一个是区域外。只要凭这个就能正确设置出区域边框了。
   
       呵呵,表达能力有限:(
原创粉丝点击