halida 2009-07-13 23:33
浏览 185
已采纳

关于declarative programming的应用

我现在负责开发的是一个生产线管理系统,
因为生产线经常根据用户的要求,在系统上做一些管控和记录,所以对旧系统的改动很多,
在这样的改改动动过程中,经常出现很多的问题,主要的几个就是:
1.一个功能的代码散落在各处。
2.许多重复代码出现。
我想,大家在开发的过程中,是否尝试过这样的编程方式,就是写程序只写流程逻辑,
比如一个检查流程:

class CheckData(CheckClass):

#界面需要输入的数据
sn = Input()
data = Input()

#检查逻辑
def check(self):
    addCheck(IsUnique(sn)); #检查惟一性
    addCheck(IsNew(data));  #检查数据是新的

#处理逻辑
def process(self):
    LinkData(sn,data)


然后,用其他的模块来把这些逻辑组装成为实际的代码。
这样可以保证写代码引入的信息量少而集中。

请问大家有没有同样的实践来分享一下?
问题补充
我个人的看法:
代码越简单越好,越像设计文档越好,不用写代码最好。
  • 写回答

4条回答 默认 最新

  • wanghaolovezlq 2009-07-14 08:34
    关注

    其实你想要的也就是常说的dsl

    所谓领域专用语言(Domain Specific Language/DSL),其基本思想是“求专不求全”,不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机语言。

    http://www.infoq.com/cn/articles/dsl-discussion

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?