我应该写更多描述性的功能名称还是添加评论?

pro*_*ach 4 language-agnostic comments function

这是一个与语言无关的问题,但我在人们喜欢的可读性和可维护性方面徘徊......我的假设情况是我正在写一个函数,给定一个序列将返回一个副本,删除所有重复元素和订单逆转.

/*
*This is an extremely well written function to return a sequence containing 
*all the unique elements of OriginalSequence with their order reversed
*/    
ReturnSequence SequenceFunction(OriginalSequence)
{...}
Run Code Online (Sandbox Code Playgroud)

要么

UniqueAndReversedSequence MakeSequenceUniqueAndReversed(OriginalSequence)
{....}
Run Code Online (Sandbox Code Playgroud)

以上应该是在第一个实例中使用注释或在第二个实例中使用非常详细的函数名来描述函数的动作的清晰示例.

干杯,

理查德

And*_*are 9

我更喜欢详细的函数名称,因为它使调用站点更具可读性.当然,一些函数名称(如您的示例)可能会变得非常长.

对你的示例函数来说,也许是一个更好的名称ReverseAndDedupe.哦,现在我们更清楚一点,我们有一个有两个职责的职能*.也许将它分成两个函数会更好:ReverseDedupe.

现在,呼叫站点变得更具可读性:

Reverse(Dedupe(someSequence))
Run Code Online (Sandbox Code Playgroud)

*注意:我的经验法则是,名称中包含"和"的任何函数都有太多的职责,需要分成不同的函数.