寻找一些进行研发的术语

Posted

技术标签:

【中文标题】寻找一些进行研发的术语【英文标题】:Finding some terminologies for doing R&D 【发布时间】:2021-04-06 00:05:34 【问题描述】:

我在这里是因为我有一个程序和一些功能。

但我不确定这些功能在编程术语中的名称。所以我什至无法对此进行适当的谷歌搜索。我很想知道这叫什么,所以我可以推进我的分析和研究。

我用 C# 和 Windows 窗体开发了一个程序。目前它与 YouTube API 接口并监控聊天。当聊天消息到达以及消息遵循某种格式/语法时,我还提出了一些事件。到目前为止一切正常。

我想做的是:

如果有人使用我的软件,他只能访问二进制文件。但想编写自己的逻辑,处理我提出的一些事件。他们是怎么做到的?

我希望用户编写自己的程序/类,将其放在特定文件夹中。我希望它有一个 Start() 和 End() 方法。在方法内部,他们可以编写代码来订阅他们选择的任何事件并做他们需要做的事情。

我已经在我的主循环中编写了代码,它将遍历应该包含用户程序的文件夹,并尝试调用他们的程序/类的 Start/End 方法。

对于我来说,作为项目的原始作者,我可以继续在文件夹中编写代码。一旦我构建并执行。一切正常。主程序在我添加的程序/类中触发开始/结束。而且事件也处理得很好。

但是如果有人使用我的软件,想要处理它的事件,而不需要重新编译我的代码,那又如何呢?他们是怎么做到的?

【问题讨论】:

您可能会向搜索引擎询问c# plugin 谢谢阿克塞尔。现在检查。 确实,我认为亚历克斯提到的是一个好词。通常你会通过定义一个“插件”API 来处理它,可能通过你的“插件”应该定位的共享程序集和这些第 3 方插件应该实现的接口。我建议您也尝试以同样的方式构建您自己的扩展,这样您会偶然发现其他开发人员在构建他们的扩展时会遇到的大多数问题。 我想知道你是否可以运行一个单独的可执行文件来运行 Lua 或其他类似的脚本解释器。 嗨 Halfer,你的建议是我想到的第一件事。我已经看到游戏引擎和 streamlabs 聊天机器人这样做了。但是基于对此的其他输入,我发现并学习了如何开发可插拔程序。到目前为止,一切似乎进展顺利。首先,我使用的是 SAMIKSC 建议的“选项 1”。 【参考方案1】:

您有以下选项选项 1

使用 Start() / End() 方法创建包含所有必需引用和代码文件 (.cs) 的模板项目。 将 cmets 添加到 start() / end() 方法或添加代码示例,说明它们如何处理其他事件。 项目应该可以在没有任何主项目源代码的情况下正常编译。 如果您希望用户使用 Visual Studio Code,请指导他们使用 VS 代码进行编译。 如果他们要使用任何文本编辑器,您需要为他们提供 msbuild 命令行来编译他们的代码。 最后他们可以将 .cs 代码文件与您的主项目二进制文件一起放在特定文件夹中并试用。

选项 2

仅当您的用户也是程序员时,上述选项才有效。 如果他们是半技术人员,您可以为他们提供更简单的格式以提供额外的事件。 例如,创建 json 或 xml 格式,他们可以在其中指定事件名称以及他们希望如何处理它 - 可以是脚本,也可以从某些选项中进行选择。例如 -
    
      "myevents": [
      
        "event": "chatUpvote",
        "handler": "ThankYouHandler"
      ,
     
       "event": "chatDownvote",
       "handler": "TellMeMoreHandler"
      ]
    

【讨论】:

我将尝试您建议的选项 1。将更新它的进展情况。 感谢 cmets :)。我有插件工作。现在一切都好:)

以上是关于寻找一些进行研发的术语的主要内容,如果未能解决你的问题,请参考以下文章

作为研发Leader,如何做总结

Dev Lake 0.4.0 版本:开源开放的研发效能数据平台

实施敏捷开发,看这一篇就够了

IDE插件在58研发提效上的实践

在进行资产监控技术研发时,HC32L110串口初始化

“5步”做好研发效能度量,打造DevOps研发管理闭环