我建议每个方法只写1到5行代码。如果需要写更多,请通过电子邮件与开发团队沟通并解释原因。这有助于重复使用,强制命名规范,并将方法耦合。
有什么意见吗?
谢谢
我建议每个方法只写1到5行代码。如果需要写更多,请通过电子邮件与开发团队沟通并解释原因。这有助于重复使用,强制命名规范,并将方法耦合。
有什么意见吗?
谢谢
方法代码大小是衡量方法职责的错误度量标准。该方法应该只有一个主要的行为/创建任务,没有重复的代码。
对我来说,1到5行似乎太少了。如果你正在开发简单的业务应用程序,那么这似乎还可以接受;但是,如果有任何算法或处理过程,通常编写处理步骤按顺序而非分散在多个方法或类中会更易读(和可维护)- 即使它在封装,验证等方面是合理的。
在许多情况下,即使验证参数和迭代集合,5行也不足够。
我建议使用“一页左右”,20到30行是理想的。
例如:这对我来说似乎是有效的,但是你认为这不好,因为它有8行:
// Calculates the depth of the layer in the object graph
public int GetIndex()
{
int ct = 0;
ViewLayer pos = this;
while (pos.Parent != null)
{
ct++;
pos = pos.Parent;
}
return ct;
}
public int GetIndex(ViewLayer pos = this) {\n return (pos.Parent == null) ? 0 : 1 + GetIndex(pos.Parent);\n}\n
只需要3行 :-) - paxdiablo让代码要求决定何为过长。
你真的希望你的开发人员花时间写电子邮件而不是开发代码库吗?
我认为这比那更加复杂。
首先,方法往往遵循幂律分布:在任何给定的项目中,总会有一些异常巨大的方法,它们比其他绝大多数方法要大得多,因此平均大小永远不会收敛。
其次,如果您需要发出十个API调用才能完成一个特定的任务,那么将这个调用序列分成两个方法以满足大小限制是没有意义的。当您将某些东西分成几部分时,您必须给出两个名称(甚至三个)而不是一个。您必须记录每个部分等。底线是:小是好的,但不要盲目地遵循它。最好的建议是尝试使每个方法连贯(专注)。
这肯定让代码更难以浏览和理解,A调用B,B调用C,然后是E,接着是D等等。我不确定它如何强制实施良好的命名,我已经很难为现有方法想出好的描述性名称了,更不用说每5行就需要一个新名称。
这也会使类变得更长,因为您必须拥有方法签名、打开和关闭大括号以及用于可读性的额外一行。
此外,我的大多数Linq语句都超过了5行。