【问题标题】:Opinions on using My as a class name prefix关于使用 My 作为类名前缀的意见
【发布时间】:2009-09-08 16:10:55
【问题描述】:

就我个人而言,我从不喜欢类的 MyObject 命名。我想现状会同意,但我想看看论点的另一面,看看它是否有效。

【问题讨论】:

  • 我确信在某些情况下这很有用,但我支持你,我不喜欢它。你曾经使用过像 YourObject 或 HerObject 这样的类名吗?不,我也是。当我们讨论这个主题时,另一个烦恼是在表格名称中包含“表格”。 PeopleTable、UserTable、AddressTable、MyFavoritesTable... 哎呀。数据库可以告诉我它是什么类型的对象。很高兴我明白了这一点。
  • 我对这件事并没有真正的意见,但会关注这个讨论。你说你想看到论点的另一面,但你没有提供反对这个约定的论点,所以也许从那里开始?
  • @Doug - 我不喜欢SomethingTable 之类的东西,但难道没有 FxCop 或 Find-Bugs 规则规定类名应该引用它们的基类吗?就像 Java 中的 Map' List` 和 Set 一样。得再看看这条规则。

标签: language-agnostic naming-conventions


【解决方案1】:

“我的”已经被我用过了,用别的吧

【讨论】:

  • 正是我要说的(但莱姆斯说得更好)。除非你总是在做其他人永远不会维护的单人项目,否则“我的”就不是很有描述性:-)
【解决方案2】:

我从未在生产代码中看到过它,尽管我敢说它存在。

就像元句法变量“foo”和“bar”——它通常用作真实姓名的占位符。

例如,如果我知道某人有自己的类派生自 Form,但我对此一无所知,那么代码示例将使用:

public class MyForm : Form

不过,对于真正的代码,我当然会采取坚定的立场:)

【讨论】:

    【解决方案3】:

    我认为它接近可接受的一个实例是,如果您以“My”为前缀的类是内部类(即在另一个类中声明的私有类)。我不确定是否有任何管理内部类的命名约定,但这可能是一种区分方式。

    【讨论】:

    • 有趣...与代码的其余部分隔离开来,“我的”就类而言是有意义的。 +1
    【解决方案4】:

    据我所知,My 是示例代码中使用的前缀,表示“你的东西放在这里”。

    有点像foo。仅用于教学目的。

    【讨论】:

      【解决方案5】:

      我在 2 种情况下使用了 My:

      1. 回到我在学校的第一次编程课时
      2. 当我使用基本的“hello world”应用程序来学习一门语言时

      但绝不会用于生产或伪生产代码。

      【讨论】:

        【解决方案6】:

        我会在生产代码中避免它,你的类型名称应该反映它应该执行的功能。

        在修补/破解第三方代码时,我曾多次使用它,例如将 Controller 替换为 MyController 以表明它是一种黑客攻击,应该谨慎处理,而且是一个蝙蝠。

        【讨论】:

          猜你喜欢
          • 2018-11-26
          • 1970-01-01
          • 2016-07-17
          • 2015-12-12
          • 2021-03-19
          • 1970-01-01
          • 2013-06-22
          • 1970-01-01
          • 2022-10-18
          相关资源
          最近更新 更多