0

我有一个用 ansi C 编写的家庭自动化软件,在 ARM Cortex M4 上运行。现在,我想让规则部分由我的朋友编写,他很了解规则,但不是 C 或任何其他语言的程序员。

我目前的计划是尽可能对他隐藏细节,这样他就可以专注于程序逻辑和流程。

而不是这个:

   if (struct1.struct2.struct3.temperature_of_room < 20) struct1.struct2.out = 1;

我让他用这个:

   if (T_ROOM) OUTPUT(HEAT,ON)

然后说

   #define T_ROOM  struct1.struct2.struct3.temperature_of_room and similar...

我愿意为他将使用的所有其他数据执行此操作我还希望对该方案和其他一些有用的概念进行某种调试(使用 printf)...

我想知道是否有更好或更有效的方法来做到这一点?还有其他指针吗?我敢打赌有人也这样做过,但我在搜索引擎上找不到任何有用的东西......

提前致谢,

问候,布尔。

4

2 回答 2

1

这往往是个坏主意。您不是第一个提出“面向非程序员的简化语言”的想法的人。问题是,无论如何,你总是最终会使用另一种编程语言。除了你的会比现有的更麻烦和尴尬。

更好的方法是要么从他那里得到需求,然后自己编写代码,要么使用像这样的可视化编程语言。虽然如果它在嵌入式 ARM 设备上,那可能不是一个选择。

于 2013-10-12T11:19:15.677 回答
0

让他用伪代码或文本写规则部分,你自己实现。它比您的方法更容易且不易出错。

于 2013-10-12T11:15:17.640 回答