在一个中管理多个变量,大的if-else

时间:2018-05-14 08:10:38

标签: if-statement

我必须解决一些Word的问题,比如编辑器和它的代码,巫婆会返回一些逻辑。 现在我有超过4000个变量:

string code1 = "onePlusOne";
string code2 = "onePlusTwo";
...
string code4000 = "onePlusFourThousands"

和相同数量的逻辑if-else语句:

if(code == code1)
    return 2;
else if(code == code2)
    return 3;
...
else if(code = code4000)
    return 4001;

客户端可以将代码粘贴到编辑器中以获取值,例如:

“有些测试,#onePlusTwenty#some test。”

..结果将是:

“有些测试,21有些测试。”

我的问题是:

  • 代码中超过4000个变量,
  • 超过4000行if-else(返回超过10 000行)。
  • 与SOLID相矛盾:)

我正在考虑将这些代码存储在数据库中(但这几乎没有解决),我也可以将这些代码分组(但这只会帮助我将if-else拆分成其他许多其他的if-else)。

我会很感激如何管理这个。

1 个答案:

答案 0 :(得分:0)

您可以使用key-value结构来存储数据,而不是编写+10,000 LOC,使用for循环来替换您的值。例如L

struct key_value {
   string key;
   int value;
};

for循环就像

for(int i = 0; i < MAPSIZE; i ++) {
     if(YOUR_COMPARE_MODULE) {
         // replace here
     }
}