flutter规范

911 阅读2分钟

flutter规范 一、项目结构规范 创建项目后添加资源文件夹,其他不变。 lib文件夹: lib文件夹改成项目的模块分类(api(接口)、config(配置信息、如常用的字体、颜色、常量等)、controller(控制器、业务逻辑)、models(数据模型)、pages(视图)、routers(路由)、uitils(工具类)、widgets(组件,自定义组件、公共组件等))。 如:

资源文件:根目录创建assets文件夹,assets下面创建需要的资源目录:images(图片)、fonts(字体)、audios(音频)、videos(视频) 如:

二、命名规范 a)文件命名:使用前缀+小写+下划线来命名库和源文件。 如:xf_mine_page.dart b)类、枚举、typedef和类型参数 :大驼峰命名法。如:类class 类:class XFUtils{...} 枚举:enum Color { // 枚举元素用大小+下划线 RED, MAIN_BLUE, ... } typedef: typedef ClickOperation = bool Function(T value); c)常量、变量、方法:小驼峰命名法 常量: const double pi = 3.14; String name =‘飞象’ 变量:var feiXaing =‘’; 私用变量使用下划线:var _feixiang = ‘’; 方法:void add(int a, int b) { a + b; } 三、注释和格式规划 a)所有控制结构,使用大括号,这样做可以避免悬浮的else问题。一个if语句没有else字句,其中整个if语句和then主体在合适一行,这样情况,根据喜欢,可忽略大括号。 b)注释: i.单行注释: //这个是单行注释 ii.多行注释: /// 官方推荐 四、代码规划 a)集合相关 i.建议使用创建空集合 推荐:var points = []; 不推荐:var points = List(); 推荐:var address = {}; 不推荐:var address = Map(); ii. 对于集合转换,使用它的链式高级方法来转换 var aquaticNames = animals .where((animal) => animal .isAquatic) .map((animal) => animal.name); iii.推荐使用for,不使用forEach b)使用isEmpty和isNotEmpty来判断集合是否为空,不要使用.length方法来判断空,一般工具类会封装好 c)简单的判断多用三元运算

五、其他相关规范 a)代码格式化:利用ide相关插件自动格式化