c++ - 如何优化/重构这样的代码?

标签 c++ oop optimization refactoring

在当前项目中,有很多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/

相关文章:

php - 为什么要为 doctrine2 类使用 getter setter

asp.net - 对于 HiddenField,Visible 属性有什么用?

Mysql 5.5 查询优化

c++ - std::function 的工作原理

c++ - 如何释放字符串未使用的容量

c++ - 在一行上声明多个对象指针会导致编译器错误

.net - 结合内联和非可变 bool 模块属性的场景中的 JIT 优化

optimization - 如何在 OpenShift 3.6 中获取有关最新成功部署 pod 的信息

c++ - 无法将库与 cmake 中的测试二进制文件链接

c++ - 各种编译器上的 RDRAND 和 RDSEED 内在函数?