这是一种反模式/代码气味吗? - 使用枚举/常量类通过 [] 而不是使用点属性来访问类属性

问题描述

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'

为什么?所以我可以重构而无需思考。如果我想将描述更改为概要,则可以更轻松地在 FruitFields.DESCRIPTION verse apple.descriptionText、banana.descriptionText 上查找和替换...小心。

我不知道这是否愚蠢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)