什么时候在函数中使用字符串参数是好事还是坏事?

时间:2018-07-05 18:59:23

标签: java coding-style

前几天,我看到一个请求请求,该请求在未修改字符串的函数中将字符串作为参数。取而代之的是,该字符串用于在函数执行功能之间进行切换。

与创建getNewTableVersion / getOldTableVersion之类的单独函数以省略tableType参数相比,以这种方式进行操作有何利弊?

public static String getTableVersion(String prefix, String tableVersion, String tableType) {
    String[] tableVersions = tableVersion.split(prefix);
    Integer version;
    switch (tableType) {
      case "new":
        // set version to newer one
      case "old":
        // set version to older one
      default:
        // default functionality
    }

    return prefix + version.toString();
}

记录下来,我认为这是一种不良做法。我认为,凭着一系列利弊,我也许可以说服开发人员不要这样做。

1 个答案:

答案 0 :(得分:2)

我会说这是不好的做法,因为您不能从其原型中推断出该功能的功能。它散发着神奇的常数。

如果您想做这样的事情,可以选择使用enum来限制tableType参数的可能性。