在 Flutter 中制作数据模型时是否应该使用必需的命名参数?

Should you use required named parameters when making a data model in flutter?

当您知道数据应该始终具有特定字段(如 ID 或用户名)时,在 Flutter 中要求数据模型的命名参数是一种好习惯吗?我认为这会消除不必要的空检查,但我一直看到模型 类 只是将命名参数与 fromJson 和 toJson 方法一起使用,尤其是当数据是从 Firebase 等数据库中提取时。那么有没有理由不要求字段?

此外,什么时候需要一个字符串字段并最初用空字符串填充它与使其可为空并用空值初始化它比较好?

以下是我的看法,我不确定它是否适用于所有人,但它对我有用

原因1: 太长了没必要写出来,有些Json写起来会很复杂,而且当你拿到数据的时候JSON 你会想要简单地初始化 var A = A.fromJson(jsonData) 而不是必须将它一个一个地传递到模型中,而且这可以重复很多次。

原因2:带空值的字符串(String?)和带空值的字符串(String)是非常不同的。跟我一起,我用String?判断“还没有接收到值”,如果值为non-null则接收到一个包含空的值。对比一个初始值为空的String,我无法区分它是接收到空值还是没有接收到数据。

例子:当我给text2赋空值时,它无法区分它是否收到了之前的值。这可用于在变量实际获取值之前计算 Indicators 的显示。