Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 关于如何清理代码的建议_C++ - Fatal编程技术网

C++ 关于如何清理代码的建议

C++ 关于如何清理代码的建议,c++,C++,我有一个关于目标检测的项目,该项目将根据用户输入在2D图像和3D点云上绘制结果和地面真相。用户输入是 Detection2D,GroundTruth2D,Detection3D,GroundTruth3D 例如,输入1111将在2D和3D上绘制检测和地面真相,而1000只在2D上绘制检测 因此,在我的程序中,我有4个大if块用于4个条件,还有1个用于最后一步。有什么方法可以让我的代码看起来更整洁吗?我读过另一篇文章,其中的解决方案是识别if-else块中的重复。我没有重复,那么还有其他方法吗?处

我有一个关于目标检测的项目,该项目将根据用户输入在2D图像和3D点云上绘制结果和地面真相。用户输入是

Detection2D,GroundTruth2D,Detection3D,GroundTruth3D

例如,输入1111将在2D和3D上绘制检测和地面真相,而1000只在2D上绘制检测


因此,在我的程序中,我有4个大if块用于4个条件,还有1个用于最后一步。有什么方法可以让我的代码看起来更整洁吗?我读过另一篇文章,其中的解决方案是识别if-else块中的重复。我没有重复,那么还有其他方法吗?

处理这个问题的一个经典案例是,每个案例都从一个公共基类继承一个类。然后工厂可以根据输入创建正确的类

然而,对于给定的信息,不清楚这种方法是否会有帮助,或者只是使代码复杂化

主要的优势可能是更好地划分责任,并在调用方提供更清晰的代码


这是一个

使用函数?函数和一个标志枚举。你的意思是你想要基于数字的条件。正确的?(即111的3个条件?)。