如何解决为什么Dart希望省略局部变量的类型注释?
我已经使用dart一段时间了,只是想知道不进行类型注释的偏好,如果可以看到类型注释并且不怀疑某些变量是什么类型,我个人发现它更易于理解并回顾我的代码是。有没有理由比直接类型注释更喜欢var?
这是为什么:
var match = regexp.firstMatch('Regex Match');
首选:
RegExpMatch match = regexp.firstMatch('Regex Match');
解决方法
这种说法是多余的冗长通常不值得它自己承担。
除非您命名每个中间值,否则您已经在使用未键入的表达式而不会出现问题。说:
myThingie.flooTheFloo().biz.baz.fixIt();
这里有四个中间值,您没有为其指定名称和类型,我们通常不会将其视为问题。 如果您将其写为;
var v1 = myThingie.flooTheFloo();
var v2 = v1.biz;
var v3 = v2.baz;
var v4 = v3.fixIt();
没有特别的原因让您突然需要以前不需要的类型。
将类型放在变量上可以说比将类型放在匿名中间结果上更重要,因为前者的名称提供了更多信息。如果名称具有足够的描述性,则不需要名称和类型。
然后有人认为这些论点都很好,但是您有时还是想给某种东西加上类型,因为这种情况在上下文中不清楚或名称。没关系,the style guide只说“ AVOID”,而不是“不要”,这意味着在某些情况下,其他原因可能会胜过样式指南的推荐。
我个人习惯于编写类型,很难做到这一点(尤其是int
,它甚至在我想到之前就从我的手指中流出来!)
但是,我尝试在不键入局部变量的情况下编写Dart代码,并且在实践中并不是问题。很多人都有相同的经验。 (我想我们会看到在6到12个月后再次回到该代码时会发生什么。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。