0

我正在阅读 Petzold 的免费 (.PDF) WP7 书,他说他总是在事件处理程序中将“EventArgs e”更改为“EventArgs args”(这对我来说很有意义,因为“e”有时与我想要的冲突命名异常对象);但他也说他删除了有时会自动添加的可访问性修饰符。

我想知道他为什么这样做,并且:

1) Should I adopt the same practice
2) If that's a better way (Petzold is no wet-behind-the-ears greenhorn), why doesn't MS create these methods that way by default?
4

1 回答 1

2

(我假设这是private从方法中删除访问修饰符的问题。如果它正在删除(比如说)public,那么这是一个语义变化,并且是另一回事。)

这绝对是个人喜好问题。当访问修饰符是默认值时,我曾经倾向于删除它,但现在我更喜欢明确。

隐含的好处:

  • 减少杂乱(在写书时很重要,这很可能与此处相关)
  • 由于默认值始终是“您可以明确表达的最私密的”,因此更明显的是哪些成员已被“提升”以获得更广泛的访问权限

明确的好处:

  • 毫无疑问,不完全了解该语言的读者
  • 它引入了另一个心理提醒,您需要积极考虑这一点。(我敢肯定,人们经常以默认方式保留事物,而没有进一步考虑 - 与 Java 相比,我看到 C# 中的虚拟方法相对较少,只是因为默认值。)
  • 假设您遵循心理提醒,它向读者表明这是一个深思熟虑的决定。

如果您想要“诉诸权威”,您可能有兴趣知道 Miguel de Icaza(强烈)赞成前一种方法,而 Eric Lippert 赞成后者。

于 2012-06-21T05:27:41.297 回答