- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
3天前关闭。
Improve this question
我的代码如下所示
enum possible_cases; //assigned somewhere
bool decision; //assigned somewhere
//basically the default action for my possible_cases
int value = 10;
do_something(value);
switch (possible_cases)
{
case 0:
//assume covered by do_something(value)
break;
case 1:
if ( decision )
{
value = get_other_value();
do_something(value);
}
break;
case 2:
value = get_other_value(); //will return same value as in case 1
do_something(value);
break;
}
如你所见
1.它必须使用一个特定值运行do_something()
1.它可能必须使用其他值运行do_something()
另外,并且情况列表可能会增长到使用bool不切实际的程度
但总的来说,我并不高兴,因为这有点多余,我认为有办法做得更好。
我想继续列举案例
编辑:
问题出在哪里似乎还不清楚:
我在3个地方看到了相同函数的调用,而我假设我可以将其减少到2,因为我知道我最多只需要运行它2次。
2条答案
按热度按时间q9rjltbz1#
代码中的冗余部分是do_something(value),因此我建议您将这部分代码分离出来
js81xvg62#
通过添加额外的图层,您可以执行以下操作:
然后