最近,我在这里贴一张我的代码,并得到了评论(无关原来的问题),其使用this了类的所有成员函数和属性是"不是简单的个人编码风格的问题,这是不好的做法".不幸的是,这个人拒绝详细说明并告诉我自己查一下.
我用谷歌了一堆(但它真的很难找了什么"这个"作为关键字),并期待在这里,但我只找到一些 例子时this ,必须使用.
我知道使用this不可避免的情况(参数/变量具有相同的名称,模板继承等),但随着时间的推移我开始使用,this因为我可以更轻松,更快地找到我的代码.我的理由包括:
f是否应该是一个成员函数:如果this代码中没有,它可以从类中取出f可以是一个const功能:如果this左边没有,很可能是可以制作const(并不总是,但我觉得它在浏览时很有用)f,或者它是否为复合成员函数(使用this对象操作的成员方法与没有此操作的对象的"外部"算法)this来找到问题,因为其他行不会更改对象坦率地说,关于这种"不良做法"的评论让我感到不安.但是,一个评论本身并不意味着什么,所以我想问一下,this对于所有成员函数和属性使用一致性是否有任何不妥之处?如果是这样,那么将它置于(可能是笨拙的,不受欢迎的或不普遍的)个人风格并将其置于"不良实践"类别中的主要缺点是什么?
utn*_*tim 24
这个答案是基于意见的(正如其他人所指出的).
我认为这是一种不好的做法,因为:
class <class-name> var;,而不是<class-name> var;忽略"零规则").this->(因为用于类,函数和变量的名称构成了用于理解代码结构的心理模型).没有任何技术原因导致无法在任何地方使用它.
如果您只对技术原因感兴趣,那就是您的答案.但是,我会恳请你考虑非技术原因.出于某种原因形成意见,其中一些原因可能是好的.例如,我建议在任何地方使用它会降低代码的可维护性,并且通过重新考虑命名方案可以更好地服务.
考虑通常this在需要的地方使用,而不是在其他地方使用.this正如你所说,有些理由可能需要,当大多数程序员遇到this他们时,他们会对自己感到疑惑,"这里必须要出于一个非显而易见的原因.我不知道这是什么原因."
一致性是可维护代码的重要属性.使用this无处不在的一个主要问题是它与大多数其他程序员的做法不一致.由于大多数其他程序员不会使用this无处不在,当你做任何地方使用它,它会变得更加困难了他们维护你的代码.
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |