我在一个小组中工作,负责研究开发和完整的运输代码。

我有一半的时间开发在实时系统上运行的流程(介于软实时和硬实时之间,中等实时之间?)

我的另一半是为根本不必关心代码的研究人员编写或优化流程的。

目前,我正在开发一个必须分为两个不同分支的过程。

一个小组有一个研究版本,一个生产版本有时需要与研究代码合并才能获得最新,最出色的产品。

要测试这些流程,您需要设置一个半复杂的测试环境,该环境将在正确的时间(实时系统)将我们分析的数据发送到该流程。

我在考虑如何制作:

  • 想法
  • 实现
  • 测试
  • 转到#1

  • 对我的同事来说,骑车要尽可能轻松,快速且无痛苦。

    我的一个想法是将脚本语言嵌入这些长期运行的流程中。
    因此,随着流程的运行,他们可以调整实际的算法及其参数。

    我看了一下嵌入:
  • Lua(有用的guide)
  • Python(有用的guide)

  • 这些似乎都是可行的,并且实际上可以完全解决给定的问题。

    还有其他好主意吗?

    更改1-2行后重新编译,重新部署到测试环境,然后重新启动就很糟糕。

    该系统相当复杂,希望我能做得体面。

    最佳答案

    如果您可以通过脚本对程序进行足够的更改以使其有用,而无需完全重新编译,那么您应该考虑将系统分解为较小的部分。您可能有一个“服务器”来处理数据加载等,然后是进行实际处理的客户端代码。每次系统加载新数据时,它都可以检查并查看客户端代码是否已重新编译,如果是这种情况,则可以使用它。

    我认为这里有两个好处,其中最大的好处就是整个系统将不那么复杂。现在您正在使用一种语言而不是两种语言。从头脑中的python或lua模式转换为c++模式时,人们将事情搞砸的可能性很小。通过在系统中嵌入其他语言,您还存在着依赖于该语言的风险。如果您使用python或lua对该程序进行修改,那么这些语言要么在需要部署时就成为依赖项,要么需要将其备份到C++中。如果您选择将内容移植到C++,则在切换过程中还会出现很多错误。

    10-06 13:18