在当前项目中,有很多GetData()方法,其中 在运行时从手写数据库中获取不同类型的数据, 并将它们设置在一个类的不同字段中。 项目就有这样的方法。
void GetData(Datatype type, int& value);
void GetData(Datatype type, double& value);
void GetData(Datatype type, long& value);
void GetData(Datatype type, longlong& value);
....
有很多数据类型,所以,这些方法经常被调用 有很多分支的开关。
void GetData(Datatype type, int& value)
{
switch(type)
{
Type1:
value = GetDataFromDB1(TYPE1);
Type2:
value = .. //get from different source
...
}
void GetData(Datatype type, double& value)
....
如您所见,GetData() 是根据第二个参数分类的。 在每个单独的 GetData() 中,有很多分支。 这是获取数据的合理方法吗?
最佳答案
回答“重构这个的最佳方法”需要更多的上下文。例如,除了像您显示的那样获取数据之外,还可以更改数据的存储方式。不过,我怀疑此代码结构是否需要优化。
关于c++ - 如何优化/重构这样的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554779/