【发布时间】:2021-05-27 11:32:21
【问题描述】:
class FruitFields {
static const NAME = "name";
static const DESCRIPTION = "descriptionText";
}
class Fruit {
final string name;
final string descriptionText;
Fruit(required string id, required string descriptionText);
}
然后,当我想对 Fruit 做某事时,请使用 [] 而不是 .符号。
var banana = new Fruit('banana', 'a yellow fruit')
banana[FruitFields.DESCRIPTION] = 'a very yellow fruit'
// instead of
banana.descriptionText = 'a very yellow fruit'
为什么?所以我可以不用思考就可以重构。如果我想将DESCRIPTION更改为SUMMARY,那么在FruitFields.DESCRIPTION verse apple.descriptionText、banana.descriptionText...上进行查找和替换会更容易,其中一些像car.descriptiontText这样的非水果对象可能有一个类似命名的属性,我必须小心。
我不知道这是否愚蠢。
【问题讨论】: