1

在对 dart 文件进行 linting 时,一项看起来相对标准的检查(也是google 迂腐风格的一部分)是unnecessary_this,它倾向于不使用显式this关键字,除非在实例变量被隐藏时有必要。

来自更多的 Java/Python 背景,其中(在 Java 中)标准似乎有利于显式使用this.,加上一个非常典型的 checkstyle 检查RequireThis,我想知道 dart 偏爱这种类型的样式检查背后的基本原理 - 对我来说似乎 Java 和 Dart 对implicit 有相似this的语义,那么为什么标准的偏好是相互对立的呢?

不必要的_this 文档中,它说:

风格指南

不要在不需要时使用它以避免阴影

但是,链接的样式指南没有提及或提供任何理由。

我想知道,因为我想要一张与不必要_this 完全相反的支票,但似乎没有一张所以我很好奇是否有关于飞镖的东西我不知道这是隐含的理由this.

4

1 回答 1

2

Dart 的风格指南非常注重“不要写不必要的东西”,并且unnecessary_this是它的一种表现形式

其背后的总体原理是,通过删除明显的冗余位,可以减少视觉噪音,从而提高可读性(同时也更容易打字)。

我能想到的想要“需要这个”lint 的唯一原因是避免被变量阴影弄糊涂。但是,还不如对“不要隐藏变量”进行 lint。

于 2020-04-19T21:35:47.733 回答