标签: method-names

如何消除scaladoc中方法的链接歧义?

我正在使用重载方法记录Scala类.在scaladoc注释中引用它们时如何区分它们?例如,如果我有

/**
 * The most important method is [[Doc.foo]].
 */
object Doc {
  def foo[A]: A = throw new UnsupportedOperationException;
  def foo[A,B >: A](x: A): B = x;
}
Run Code Online (Sandbox Code Playgroud)

sbt doc我跑了

Doc.scala:1:警告:链接目标"Doc.foo"不明确.几个(可能是超载的)成员符合目标:

  • foo[A,B>:A](x:A):B对象Doc中的方法[已选择]
  • foo[A]:Nothing对象Doc中的方法

使用foo[A,B >: A]等链接不起作用.

scala method-names disambiguation scaladoc scala-2.10

29
推荐指数
4
解决办法
8543
查看次数

在函数名称中使用特殊字符

在Ruby中,标准约定是在方法名称的末尾使用问号来指示该方法返回一个布尔结果:

[].empty?   #=> true 
Run Code Online (Sandbox Code Playgroud)

另一个标准约定是如果方法具有破坏性(即,它修改原始数据),则使用感叹号结束方法名称:

mylist.sort! # sort mylist in-place
Run Code Online (Sandbox Code Playgroud)

最近我看到了Scheme中使用的这些约定.这让我想知道,其他语言使用/支持这个约定?是否有其他特殊字符通常用于这些或其他语言的命名?

programming-languages naming-conventions special-characters method-names

23
推荐指数
1
解决办法
1万
查看次数

术语"长度"和"大小"之间是否存在技术差异(当然,在编程中)?

可能重复:
计数与集合中的长度与大小

特别是在Java中Strings,你打电话string.length(),而在Lists你打电话list.size().两个术语之间是否存在技术差异,因为String它实际上只是一个列表chars

任何评论赞赏.

java terminology object method-names

9
推荐指数
2
解决办法
9086
查看次数

IL中标准的属性getter/setter的方法是否标准化?

我有以下两种方法,我想知道它们是否合适:

public bool IsGetter(MethodInfo method)
{
    return method.IsSpecialName
        && method.Name.StartsWith("get_", StringComparison.Ordinal);
}

public bool IsSetter(MethodInfo method)
{
    return method.IsSpecialName
        && method.Name.StartsWith("set_", StringComparison.Ordinal);
}
Run Code Online (Sandbox Code Playgroud)

虽然这段代码有效,但我希望避免检查StartsWith并以编程方式获取命名约定的部分.基本上,是否有任何.NET 4.5类能够看到MethodInfo是属性getter/setter?

c# properties naming-conventions method-names .net-4.5

9
推荐指数
1
解决办法
1564
查看次数

是否存在抛出异常的Java方法的特定命名约定?

我很想添加一个像"Ex"这样的后缀来区分那些抛出Exceptions的方法(带有类似的签名).

有这样的约定吗?

java coding-style method-names

8
推荐指数
3
解决办法
4682
查看次数

如何从已知方法获取methodname?

是否可以在同一个类中获取另一个方法的名称但使用手动编写的字符串?

class MyClass {

    private void doThis()
    {
        // Wanted something like this
        print(otherMethod.name.ToString());
    }   

    private void otherMethod()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

你可能会问为什么:原因是我必须稍后像这个Invoke("otherMethod")一样调用该方法,但是我不想自己对这个字符串进行硬编码,因为我无法在项目中重构它.

c# invoke method-names

6
推荐指数
1
解决办法
97
查看次数

java - DAO 方法约定 - 重载还是更改方法名称?

DAO 方法的标准命名约定DAO 类方法命名 问题相关。

为什么 DAO 类中的方法是这样的:

getUserById(int id)
getUserByUsernameAndPassword(String username, String password)
Run Code Online (Sandbox Code Playgroud)

代替:

getUser(int id)
getUser(String username, String password)
Run Code Online (Sandbox Code Playgroud)

在 IDE 中,当您开始键入 getUser 时,Eclipse 自动建议将开始向您显示两者。您可以根据参数选择要使用的方法。

当然,这是超载。为什么人们避免重载并为不同的参数使用不同的方法名称?还是他们在逃避?

问候。

java dao overloading naming-conventions method-names

5
推荐指数
1
解决办法
890
查看次数

Bizzare方法签名,带有未命名的参数(obj-c)

我不知道这个语法是有效的.

+ (void) methodName:(TypeObject *)typeObject1:(TypeObject *)typeObject2;
Run Code Online (Sandbox Code Playgroud)

然后这样称为:

[object methodName:obj1:obj2];
Run Code Online (Sandbox Code Playgroud)

我发现它很丑陋和令人不安,但它构建了.

有人能指出我的参考资料,解释为什么这是有效的.

FWIW这个来自的代码库(继承),充斥着草率,懒惰的东西,几十个拼写错误,看起来像是由没有必要再次阅读它的人格式化.(再次谢谢你解开.)

objective-c method-names

4
推荐指数
1
解决办法
608
查看次数

Scala中的方法命名约定 - 可变而不是版本?

这个例子只是为了表明这一点.

假设我使用矩阵库,但缺乏一些功能,让我们说矩阵中的每个元素加倍对我来说是至关重要的,我决定编写一个方法doubleIt.但是,我可以写这个方法的2个版本

  1. 可变 - doubleItInPlace
  2. 不可变 - doubleItByCreatingNewOne

这有点冗长,因此可以考虑命名约定,添加可变版本_!后缀,或者在其前面添加单词"mut".

是否有任何确定的命名约定来实现这种差异?

scala naming-conventions method-names

3
推荐指数
1
解决办法
303
查看次数

有没有办法在c#中动态获取方法名称?

我有一个案例,我将方法名称作为字符串传递给函数,但我不希望它硬编码.例如

void MyMethodName()
{
    // some code
}

void SomeOtherMethod()
{
    SomeExternalLibrary.ExternalClass.FunctionWithStringParameter("MyMethodName");
}
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

FunctionWithStringParameter(MyMethodName.ToString());
Run Code Online (Sandbox Code Playgroud)

这样我可以通过"查找所有引用"来跟踪方法调用,并且我可以毫无后顾之忧地使用重构.

c# reflection method-names

3
推荐指数
1
解决办法
150
查看次数