Dart 风格指导

Dart style guidance

我正在尝试遵循我的 dart 代码的 dart 样式指南,但我对此不确定:

library ch_panel.section_model;

import 'package:ch_padart/models/page.dart';

class Section {

  String icon;
  String title;
  List<Page> pages;

  Section(this.icon, this.title, this.pages);
  Section.fromJson(Map<String, dynamic> json): this(json['icon'], json['title'], parsePages(json['pages']));

  static List<Page> parsePages(List<Map> pageJson) {
    List<Page> itemPages = new List();

    pageJson.forEach((v) {
      itemPages.add(new Page(v['icon'], v['title']));
    });

    return itemPages;
  }
}

我指的风格指南: https://www.dartlang.org/articles/style-guide/#members

你能重新编写这段代码作为在这种情况下正确使用样式的示例吗?

可以改进的是格式。 Dartformat 会自动执行此操作(应该集成在 DartEditor 中)。您也可以从命令行手动 运行 它。

# install
pub global activate dart_style
# run 
pub global run dartformat -w myfile.dart
# or to format a whole directory incl subdirs
pub global run dartformat -w .
library ch_panel.section_model;

import 'package:ch_padart/models/page.dart';

class Section {
  String icon;
  String title;
  List<Page> pages;

  Section(this.icon, this.title, this.pages);
  Section.fromJson(Map<String, dynamic> json)
      : this(json['icon'], json['title'], parsePages(json['pages']));

  static List<Page> parsePages(List<Map> pageJson) {
    List<Page> itemPages = new List();

    pageJson.forEach((v) {
      itemPages.add(new Page(v['icon'], v['title']));
    });

    return itemPages;
  }
}

还有一个检查样式违规的 linter 工作正在进行中(非常早期但已经可以使用)

 # install
 pub global activate -s git git@github.com:dart-lang/linter.git
 # run
 pub global run linter myfile.dart