flutter

您所在的位置:网站首页 flutter代码规范 flutter

flutter

2023-03-25 02:34| 来源: 网络整理| 查看: 265

Flutter 代码规范与目录规范v1.0.3 目录规范与命名 Lib ├──page 落地页 │ └──user 页面模块文件夹 │ └──login 页面落地页文件夹 │ └──login.dart => class UserLoginPage 后缀为page为落地页 唯一入口 │ └──button.dart => class UserLoginButton 非公共部分页面子组件 ├──component 通用组件 │ └──Modal │ └──alert.dart => class ModalAlertComponent ├──store 数据集中管理 │ ├──store.dart => class Store 实例化Provider export model类 │ ├──proto pb协议转换代码 │ ├──service pb协议 yyp协议 等等转义成 dart方法 │ ├──model │ │ ├──user.dart => class UserModel │ │ └──model.dart => export all models │ └──object │ └──user_object.dart => class UserObject ├──helper 公共方法 │ └──helper.dart => class Helper 常规方法、通用方法、全局方法可以用过这个入口export 避免重复引入、可以作用通过用方法入口 ├──config 配置中心 │ ├──config.dart => class Config 配置变量与切换方法 └──router 路由 └──router.dart => class Router 页面映射配置、observe 方法导出 标识符

在 Dart 中标识符有三种风格:

大写驼峰:每个单词的第一个字母大写,包括第一个单词。 小写驼峰:每个单词的第一个字母大写,除了 第一个单词一直小写,即使第一个单词是缩写。 小写加下划线:只使用小写字母,即使是缩写,然后使用下划线_分隔。 类型名使用大写驼峰

类,枚举,自定义类型和参数类型,应该使用大写驼峰,且不能使用分隔符。

class SliderMenu { } class HttpRequest { } typedef bool Predicate(T value); class Foo { const Foo([arg]); } @Foo(anArg) class A { } @Foo() class B { } // 如果注解类的构造函数没有参数,可以创建一个单独的小写驼峰常量。 const foo = const Foo(); @foo class C { } 库和源文件名使用小写加下划线 library peg_parser.source_scanner; import 'file_system.dart'; import 'slider_menu.dart'; 其它标识符使用小写驼峰 var item; HttpRequest httpRequest; void align(bool clearItems) { // ... } 推荐常量名使用小写驼峰 const pi = 3.14; const defaultTimeout = 1000; final urlScheme = new RegExp('^([a-z]+):'); class Dice { static final numberGenerator = new Random(); } 超过两个字母的首字母缩略词以及缩写词,应该大写 HttpConnectionInfo uiHandler IOStream HttpRequest Id DB 导入顺序

各部分内按字母顺序排序

// 在其它导入之前导入 “dart:” import 'dart:async'; import 'dart:html'; // 在相对导入之前导入 “package:” import 'package:bar/bar.dart'; import 'package:foo/foo.dart'; // 在其它导入前导入第三方 “package:” import 'package:my_package/util.dart'; // import 'util.dart'; // 在所有导入之后的单独部分指定导出 export 'util.dart'; dartfmt 格式化

官方使用 dartfmt 格式化代码。

避免一行的长度超过 80 个字符

可读性研究表明,过长的文本不适合阅读,因为当你看到下一行开始的时候眼睛移动的距离过大。这就是为什么新闻和杂志使用多列的文本。

对所有流程控制结构使用大括号 if (isWeekDay) { print('Bike to work!'); } else { print('Go dancing or read a book!'); } // 有一个例外是:if 语句没有 else,符合条件只有一行,可以省略大括号。 if (arg == null) return defaultValue;


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3