作为关于前缀的这个问题的后续跟进,我同意大多数人在线程上说前缀是坏的.但是,如果你使用吸气剂和制定者怎么办?然后,您需要将可公开访问的getter名称与私有存储的变量区分开来.我通常只使用下划线,但有更好的方法吗?
这是一个完全主观的问题.没有"更好"的方式.
一种方法是:
private int _x; public get x():int { return _x; } public set x(int val):void { _x = val; }
另一个是:
private int x; public get X():int { return x; } public set X(int val):void { x = val; }
答案也不正确.每个都有风格优点和缺点.选择你最喜欢的一个,并始终如一地应用它.
正如其他人所提到的,我喜欢在字段前加上下划线.
private int _x;
我认为这超出了个人的偏好(正如David Arno在这篇帖子中所说).我认为这样做有一些真正的客观原因:
这意味着您不必为赋值编写"this.x = x"(特别是在setter和构造函数中).
它将您的字段与本地变量/参数区分开来.这样做很重要:字段比本地人更难处理,因为它们的范围更宽/寿命更长.添加额外字符对编码员来说是一个心理警示标志.
在某些IDE中,下划线将导致自动完成将字段排序到建议列表的顶部.这样可以更容易地在一个块中查看该类的所有字段.这反过来可能会有所帮助; 在大类上,您可能无法在与您正在处理的代码相同的屏幕上看到字段(通常在类的顶部定义).将它们排序到顶部提供了方便的参考.
(这些约定适用于Java,但其他语言也存在类似约定)
这些东西看起来很小,但是当我编码时,它们的流行肯定会让我的生活变得更轻松.