Flutter 在flatter中,我们如何避免使用很长的对象/属性名称编写样板代码?
例如:Flutter 在flatter中,我们如何避免使用很长的对象/属性名称编写样板代码?,flutter,dart,Flutter,Dart,例如: Text(objectNameVeryLong.attributeNameVeryLong.isEmpty?“对不起,它是空的”:objectNameVeryLong.attributeNameVeryLong)真是一块意大利面条 但是,dart语言不支持“内联表达式”语法,如: Text({var a=studentId.toString();a=a.isNotEmpty?a:“empty”;})//最后一行成为表达式返回值 这里的{code}最终成为一个变量 我提出的解决方案是: 内
Text(objectNameVeryLong.attributeNameVeryLong.isEmpty?“对不起,它是空的”:objectNameVeryLong.attributeNameVeryLong)
真是一块意大利面条
但是,dart语言不支持“内联表达式”语法,如:
Text({var a=studentId.toString();a=a.isNotEmpty?a:“empty”;})//最后一行成为表达式返回值
这里的{code}最终成为一个变量
我提出的解决方案是:
Text((){var a=studentId.toString();a=a.isNotEmpty?a:“空”;返回a;}())
关于这个问题还有其他解决办法吗?或者对于这个问题有什么dart语言实验性的建议吗?在我看来,它还不错,因为它更明确,有助于理解代码(但很难看)。我的解决办法是:
在我看来,它还不错,因为它更明确,有助于理解代码(但它很难看)。我的解决办法是:
你不能更简洁地命名你的对象和属性吗?@ColeHenrich有时API会变得臃肿,或者后端开发人员决定这样命名。我们的VO类别无选择,只能保持命名一致……难道你不能更简洁地命名你的对象和属性吗?@ColeHenrich有时API会变得臃肿,或者后端开发人员决定这样命名。我们的VO类别无选择,只能保持命名一致。。。
T get getterWithReasonableNameLong => this.attributeNameVeryLong.isEmpty ? "Sorry It's Empty" : this.attributeNameVeryLong;
// ...
Text(objectNameVeryLong.getterWithReasonableNameLong)
T buildMessage(message) => message.isEmpty ? "Sorry It's Empty" : maessage;
// ...
Text(buildMessage(objectNameVeryLong.attributeNameVeryLong))