我现在负责开发的是一个生产线管理系统,
因为生产线经常根据用户的要求,在系统上做一些管控和记录,所以对旧系统的改动很多,
在这样的改改动动过程中,经常出现很多的问题,主要的几个就是:
1.一个功能的代码散落在各处。
2.许多重复代码出现。
我想,大家在开发的过程中,是否尝试过这样的编程方式,就是写程序只写流程逻辑,
比如一个检查流程:
class CheckData(CheckClass):#界面需要输入的数据 sn = Input() data = Input() #检查逻辑 def check(self): addCheck(IsUnique(sn)); #检查惟一性 addCheck(IsNew(data)); #检查数据是新的 #处理逻辑 def process(self): LinkData(sn,data)
其实你想要的也就是常说的dsl
所谓领域专用语言(Domain Specific Language/DSL),其基本思想是“求专不求全”,不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机语言。
http://www.infoq.com/cn/articles/dsl-discussion
你可以看看规则引擎
没有银弹,重构,消除坏味,继续重构,继续消除坏味...
使用DSL