【问题标题】:Why we add attributes under class's constructor and not above it?为什么我们在类的构造函数下而不是在它之上添加属性?
【发布时间】:2021-03-20 11:40:21
【问题描述】:

我注意到许多熟练的开发人员坚持在类的构造函数下而不是在它之上添加属性,为什么它很重要?是为了最佳实践还是其他什么?

Class Car{
String color;
int speed;
Car({this.color, this.speed});
}

代替:

Class Car{
Car({this.color, this.speed});
String color;
int speed;
}

谢谢?

【问题讨论】:

  • 去掉了java标签,因为代码肯定不是java。 (在java中声明位置没有区别)
  • 感谢@luk2302 的更正,但仍然没有回答我的问题
  • 没有尝试,因为我对飞镖一无所知。我怀疑这应该主要基于意见而关闭,因为选择只是个人喜好,但我不能确定。
  • 是的,谢谢,我明白了,但我举了一个 Dart 的例子,因为我不能用所有不同的语言编写它。

标签: class oop dart constructor


【解决方案1】:

没有语义上的区别,都是作者认为更重要的东西。

Dart style guide 对这个问题保持沉默,所以这纯粹是传统,而且项目之间以及来自其他语言的人之间的传统有所不同。

我个人将实例变量放在构造函数之前,因为在编辑代码时,了解对象的状态对我来说比构造函数是什么更重要。 我已经看到其他人以相同的理由将实例变量放在类的最后。 重要的是您可以在使用代码时快速找到您要查找的内容。保持一致比什么都重要。

其他人将构造函数放在首位,因为这是该类的用户需要了解的第一件事。我个人认为这无关紧要,用户在学习课程时应该使用 API 文档,而不是源代码(显然只适用于公共课程)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 2016-03-29
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多