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 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程