You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Dart官方规范方法计算房间体积?求优化代码及学习资源

符合Dart官方规范的房间体积计算代码示例

以下是遵循Dart官方规范(尤其是空安全和不可变设计)的改进代码:

class Room {
  // 使用final确保属性不可变,且通过构造函数初始化,避免空值
  final int height;
  final int length;
  final int width;

  // 必填参数构造函数,实例化时必须传入所有维度值
  Room({required this.height, required this.length, required this.width});

  // 计算体积,无需强制解包,属性一定非空
  int get volume => height * length * width;
}

void main() {
  // 实例化时必须传入所有参数,编译期就能检查是否遗漏
  final room = Room(height: 10, length: 4, width: 5);
  print("Volume is ${room.volume}.");
}

关键改进说明

  • 空安全合规:通过构造函数必填参数保证所有属性在实例化时完成初始化,彻底消除空指针风险,替代原代码中不安全的!强制解包操作
  • 不可变设计:用final修饰属性,符合Dart推荐的不可变优先原则,避免意外修改属性值
  • 语法优化:使用Getter(get volume)替代普通方法,更符合属性语义;构造函数采用命名参数语法,提升代码可读性

推荐的Dart学习资源

  • Dart官方指南:系统覆盖Dart语言核心特性、编码规范与最佳实践
  • Dart语言规范文档:明确Dart语言的官方语法定义和规范标准
  • Dart空安全官方教程:深入讲解空安全的设计思路与正确使用方式

内容的提问来源于stack exchange,提问作者Alish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:45:43