我个人对此没有任何硬而快捷的规则,但我倾向于不仅使用象征性的方法名称,而且用字母数字表示。
固定标记使后来修改法典变得麻烦。 以下是一些例子。
mag:
xs filter { f } map { g }
Suppose at some latter point in time you need to add a toList
at end. You put it so:
xs filter { f } map { g } toList
这可能会造成半殖民推论问题。 为避免这些问题,你要么结束半殖民地,要么把一条新路线。 我认为,这两种选择都是很明智的。 为了避免所有这种非专利,我倾向于使用<条码>xs.filter(f).map(g)。 它总是更容易与这一辛迪加混为一谈。
另一个例子: Saye 我的守则如下:
if(foo contains bar) { ..
Say, I need to negate the condition. If I modify it as follows:
if(!foo contains bar) { ..
Bummer。 这分为<代码>(!foo).contains(bar)。 不是我们想要的。
或认为你需要增加新的条件,并作修改:
if(foo contains bar && cond) { ..
另一轮bu。 这分为<代码>foo.contains(bar.&&(cond)>。 不是我们再次想要的。
当然,你可以在周围增加一只母体,但与 do相比,这很难读/编辑。
Now, all of what I said above applies to symbolic method names too. However symbolic methods look unnatural when used with dot syntax, and so I prefer the infix syntax for them.
以上准则的一个例外:内部数据交换系统。 他们通常小心谨慎,以便在文件/文件中规定的方式(通常在固定标记中使用)书写时不引起分歧。