何时创建新功能?

时间:2016-07-08 22:14:51

标签: c# coding-style

我与队友讨论过以下问题。

我们需要将字符串中的符号解析为int(它总是一个数字),这个特定的功能在很多地方使用。所以这可以这样做:

var a = int.Parse(str[i].ToString());

论点是:我们是否需要为此创建一个函数。

int ToInt(char c) {
    return int.Parse(c.ToString());
}

可以使用:

var a = ToInt(str[i]);

我的观点是创建这样一个函数很糟糕:它除了少量输入几个字符外没有任何好处(不,因为我们有自动完成),但这种做法增加了代码库,并通过引入附加函数使代码更易于阅读。我的队友的原因是,只要召唤一个这样的功能就更方便了,这种做法没有什么不好。

实际上问题与一般情况有关:什么时候可以(如果有的话)将2-3-4函数与新函数组合起来? 所以我想听听你对此的看法。

我认为这主要是根据个人喜好来定义的。但我也想听听一些客观因素来确定我们项目中此类情况的惯例。

2 个答案:

答案 0 :(得分:1)

创建新的子例程/方法/函数有很多原因。这里列出了几个。

  1. 多次调用子程序时。
  2. 如果它使您的代码更易于阅读/理解。
  3. 个人偏好。

答案 1 :(得分:-1)

实际上,设计当然可以通过多种方式完成,取决于整个软件的实际设计,可读性,易于重构和封装。这些事情每次都要由它自己考虑。

但是在这个特定的情况下,我认为最好不要使用函数并将它作为第一个例子使用它有很多原因:

  1. 实际上是一行代码。
  2. 在性能中调用函数的开销将远远超过你从中获得的好处。
  3. 如果你把它作为一个函数,编译器本身可能会再将它解包到一行调用中,尽管并非总是如此。
  4. 这样做的好处主要在于你想在函数中添加错误检查,TryParse等等。