将 @override 放在我的 PolymerDart 方法中的目的是什么?
What is the purpose of putting @override in my PolymerDart methods, when it works without?
在创建涉及继承的类方面,有些其实是需要override注解的。不过,在使用 PolymerDart 时,特别是
@override
attached(){...}
我看不出我为什么需要它。没有它,它会按预期工作。
既然它只是一个注解,它是否只是供开发人员查看以便他们理解该功能正在覆盖其他一些功能?
我敢打赌,它仅供开发人员使用,与执行某种执行的其他注释不同,这些注释不会。
如果启用 linter rule annotate_overrides DartAnalyzer 会提供提示
- 对于覆盖超类或接口的其他成员但没有
@override
注释的成员
- 对于具有
@override
注释但实际上并未覆盖超类或接口的其他成员的成员。
如果始终使用 @override
注释,它会很有帮助,因为它会显示成员何时被覆盖。
linter 规则确保它被一致使用。
还有 `overridden_fields lint,但据我所知,这将被弃用,因为。直到最近在 Dart Development 编译器中才禁止这样做,但此限制已被删除。我不知道它是否仍然不鼓励,但在某些情况下它是有意义的,因此我认为不应再使用 linter 规则,因为它很容易导致有效代码的提示。
在创建涉及继承的类方面,有些其实是需要override注解的。不过,在使用 PolymerDart 时,特别是
@override
attached(){...}
我看不出我为什么需要它。没有它,它会按预期工作。
既然它只是一个注解,它是否只是供开发人员查看以便他们理解该功能正在覆盖其他一些功能?
我敢打赌,它仅供开发人员使用,与执行某种执行的其他注释不同,这些注释不会。
如果启用 linter rule annotate_overrides DartAnalyzer 会提供提示
- 对于覆盖超类或接口的其他成员但没有
@override
注释的成员 - 对于具有
@override
注释但实际上并未覆盖超类或接口的其他成员的成员。
如果始终使用 @override
注释,它会很有帮助,因为它会显示成员何时被覆盖。
linter 规则确保它被一致使用。
还有 `overridden_fields lint,但据我所知,这将被弃用,因为。直到最近在 Dart Development 编译器中才禁止这样做,但此限制已被删除。我不知道它是否仍然不鼓励,但在某些情况下它是有意义的,因此我认为不应再使用 linter 规则,因为它很容易导致有效代码的提示。