我在一个小组中工作,负责研究开发和完整的运输代码。
我有一半的时间开发在实时系统上运行的流程(介于软实时和硬实时之间,中等实时之间?)
我的另一半是为根本不必关心代码的研究人员编写或优化流程的。
目前,我正在开发一个必须分为两个不同分支的过程。
一个小组有一个研究版本,一个生产版本有时需要与研究代码合并才能获得最新,最出色的产品。
要测试这些流程,您需要设置一个半复杂的测试环境,该环境将在正确的时间(实时系统)将我们分析的数据发送到该流程。
我在考虑如何制作:
对我的同事来说,骑车要尽可能轻松,快速且无痛苦。
我的一个想法是将脚本语言嵌入这些长期运行的流程中。
因此,随着流程的运行,他们可以调整实际的算法及其参数。
我看了一下嵌入:
这些似乎都是可行的,并且实际上可以完全解决给定的问题。
还有其他好主意吗?
更改1-2行后重新编译,重新部署到测试环境,然后重新启动就很糟糕。
该系统相当复杂,希望我能做得体面。
最佳答案
如果您可以通过脚本对程序进行足够的更改以使其有用,而无需完全重新编译,那么您应该考虑将系统分解为较小的部分。您可能有一个“服务器”来处理数据加载等,然后是进行实际处理的客户端代码。每次系统加载新数据时,它都可以检查并查看客户端代码是否已重新编译,如果是这种情况,则可以使用它。
我认为这里有两个好处,其中最大的好处就是整个系统将不那么复杂。现在您正在使用一种语言而不是两种语言。从头脑中的python或lua模式转换为c++模式时,人们将事情搞砸的可能性很小。通过在系统中嵌入其他语言,您还存在着依赖于该语言的风险。如果您使用python或lua对该程序进行修改,那么这些语言要么在需要部署时就成为依赖项,要么需要将其备份到C++中。如果您选择将内容移植到C++,则在切换过程中还会出现很多错误。