在关于数据库和 GUI 的模型代码中使用枚举时减少代码重复

Reducing code duplication when using enums in model code with respects to database and GUI

我的一个模型中有一个枚举 类 所以我不必担心传递给它的错误值。

我遇到的问题是,由于上述枚举,我的代码中有很多代码重复。每当我想更改枚举时,我还必须更改代码的这些部分才能使整个工作正常进行:

我知道 Javas 枚举 类 更强大,您可以直接在枚举条目定义中添加很多此类信息,但 C++ 枚举在内部只是整数,所以我没有那么方便.

有什么想法可以最大限度地减少代码重复吗?

这是代码生成的一个很好的候选者。为您的枚举编写一个规范,然后在您的所有语言环境中从中生成所有需要的翻译代码。利用您的构建系统使所有内容保持最新。主要的陷阱是,如果你曾经存储或序列化低级整数表示,你需要小心不要删除/重新使用任何枚举构造函数(只需在末尾添加新的)。