2016-11-14 37 views
-1

我有一个关于对象检测的项目,它将根据用户输入在2D图像和3D点云上绘制结果和基本事实。所述用户输入是关于如何清理我的代码的建议

Detection2D,GroundTruth2D,Detection3D,GroundTruth3D

例如1111的输入将绘制检测和地面实况上二维和三维而1000中绘制的检测仅在2D

因此我程序,我有4个大块如果4个条件和1个更多的最后一步。无论如何,我可以让我的代码看起来更整洁?我已经读过另一个线程,其中解决方案是识别if块中的重复。我没有重复,所以还有其他方法吗?

+1

使用函数? –

+0

函数和一个标志枚举。 – Banex

+0

你的意思是你想要基于数字的条件。对? (即3个条件为111?) – Sean83

回答

0

处理这种情况的经典案例是为每个案例创建一个类,它继承自一个公共基类。然后工厂可以根据输入创建合适的课程。

但是,对于给定的信息,目前还不清楚这种方法是否会帮助或使代码复杂化。

主要优势可能是在呼叫方更好地分配责任和更清晰的代码。

这是example of a factory in wikipedia (java)