【问题标题】:Method Parameter id similar to Class Field Best Practice?方法参数 id 类似于 Class Field Best Practice?
【发布时间】:2011-06-22 16:21:29
【问题描述】:

我有一些方法,它们的参数与字段相关,并且具有相同或相似的id。

有些编程语言不允许这样做,有些则允许,您认为哪种“最佳实践”(跨语言)?

(示例与 C++ 类似,但适用于任何编程语言。)

例子:

public class AnyClass {
  private string FilePath = "";

  public void assignPath(string FilePath) { ... }; // <-- same as field member

  public void assignPath(string AFilePath) { ... }; // <-- has a prefix

  public void assignPath(string filePath) { ... }; // <--  different case
}

干杯。

更新:添加“跨语言”

【问题讨论】:

  • 这在很大程度上取决于编程语言。如果您想了解 C++,请询问 C++。
  • @Matt Ball,由于我经常使用多种编程语言工作,因此我正在考虑一种独立于语言的解决方案 ;-)

标签: language-agnostic


【解决方案1】:

一件事是肯定的。不要使用以大写字母开头的参数名称。我还没有将这些视为我所知道的任何语言的最佳实践。不公开的字段也一样。

我喜欢您示例中的第三个选项。

【讨论】:

  • 我经常使用大写的属性和字段以及带有lowerCamelCase的方法,但参数我不遵循任何给定的规则,但Capitlized似乎让我与方法混淆。
【解决方案2】:

一般来说,我认为“PascalCase”用于表示静态字段,“camelCase”用于表示实例字段。此外,作为一般经验法则,所有方法参数可能应该是“camelCase”,或者如果可能的话只是“更低”(由于范围有限,我认为方法参数的短截断是可以的)。

但是,我认为让您的方法参数参数与实例字段名称完全匹配在任何情况下都不理想。就前缀而言,应该避免使用任何匈牙利符号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 2018-04-13
    • 2017-03-01
    相关资源
    最近更新 更多