首页 > 其他分享 >Dart 代码风格

Dart 代码风格

时间:2023-06-23 20:34:31浏览次数:49  
标签:语句 格式化 -- 代码 dart 风格 缩略词 Dart

本文地址


目录

目录

Dart 代码风格

命名风格

UpperCamelCase

  • Classes -- 类名
  • enums -- 枚举类型
  • typedefs -- 类型定义
  • type parameters -- 类型参数
  • extension -- 扩展
class SliderMenu {}
typedef Predicate<T> = bool Function(T value);
extension MyFancyList<T> on List<T> {}

lowercase_with_underscores

  • package
  • 文件夹
  • 源文件
file_system.dart
import 'package:js/js.dart' as js;

lowerCamelCase

  • 类成员
  • 顶级定义
  • 变量
  • 参数
  • 命名参数
  • 常量 [推荐]
  • 枚举的值 [推荐]
const pi = 3.14;
const defaultTimeout = 1000;

缩略词和缩写词

  • 缩略词和缩写词要像普通单词一样,仅首字母大写
  • 两个字母的缩写词,比如 ID,与其他常规单词一样,首字母大写即可
    • 例外情况:类似 IO 这样的 缩略词 要全大写
class HttpCon {}  // Http
class DBIOPort {} // DB, IO    
class TVVcr {}    // TV

var httpRequest;  // http
var uiHandler;    // ui
var userId;       // Id
Id id;            // id

其他规则

  • 未使用的回调参数优先使用______
  • 非私有的标识符不要使用前导下划线 -- 局部变量、参数、局部函数或库前缀,没有私有的概念
  • 不要使用前缀字母
  • 不要显式地命名库,例如 library my_library;

顺序

  • 要把 dart: 导入语句,放到其他导入语句之前
  • 要把 package: 导入语句,放到项目相关导入语句之前
  • 要把 export 导出语句,放到所有导入语句之后
  • 要按 字母顺序 来排序每个部分中的语句

格式化

  • 要使用 dart format 命令格式化你的代码
  • 格式化规则
  • 避免单行超过 80 个字符
    • 考虑缩短局部变量名,或者将表达式抽取为一个新的局部变量
  • 要对所有流控制结构使用花括号
    • 例外:一个没有 else 的 if 语句,并且这个 if 语句以及它的执行体适合在一行中实现,可以不用括号
dart format .          // 格式化当前目录下所有 Dart 文件
dart format a b/c.dart // 格式化指定目录下,或指定的 Dart 文件

if (arg == null) return;

2023-06-23

标签:语句,格式化,--,代码,dart,风格,缩略词,Dart
From: https://www.cnblogs.com/baiqiantao/p/17500138.html

相关文章

  • 垃圾识别系统Python+TensorFlow+Django+卷积神经网络算法【完整代码系统】
    一、介绍垃圾识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对5种垃圾数据集进行训练,最后得到一个识别精度较高的模型。并基于Django,开发网页端操作平台,实现用户上传一张垃圾图片识别其名称。二、效果展示三、演示视频+代码视......
  • 交通标志识别系统Python+TensorFlow+Django+卷积神经网络算法实现【完整代码】
    一、介绍使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Django,开发网页端操作平台,实现用户上传一张图片识别其名称。二、效果展示三、演示视频视频+完整代码:https://www.yuque.......
  • 每个人都应该知道的5个NLP代码库
    这些软件包可处理多种NLP任务,例如词性(POS)标注,依存分析,文档分类,主题建模等等。NLP库的基本目标是简化文本预处理。目前有许多工具和库用于解决NLP问题……但是只要掌握了其中的一些基本知识,就可以掌握相关基本知识。这就是为什么只介绍其中最常用的五个PythonNLP库的原因。......
  • 深度学习计算机视觉相关代码可复现论文整理分享
    因此,作为【论文复现项目】的补充,本项目的宗旨也是让世界上没有难读的论文。目录内容截图......
  • Tensorflow 2.0历史最全资源中文版整理分享-教程、博客、代码和视频教程
        目录    TensorFlow2.0有哪些优势?    官方网站    介绍    SampleCodes/项目        o基础项目        o特定模型/任务(例如GAN,RL,NLP等)            强化学习            GAN            自然语言处......
  • 记WinForm DataGridView 表格显示的不同风格
    第一种风格:1///<summary>2///第一种样式3///</summary>4publicvoidDgvStyle1(DataGridViewdgv)5{6//奇数行的背景色7dgv.AlternatingRowsDefaultCellStyle.BackColor=S......
  • Python播放GIF图片(ChatGPT代码参考)
    在网上找了好几个方法,最后还是出现各种问题,解决不了播放GIF的功能。最后,通过ChatGPT给出了简单明了的方案(使用第三方库imageio和matplotlib.animation来实现),调试直接通过。但有小瑕疵,就是显示gif时隐藏掉坐标轴的功能无效,于是再做了一下优化。 [最终代码]显示GIF动画:imp......
  • (3)基于 TCP 协议实现服务端执行代码将结果反馈给客户端
    基于TCP协议实现服务端执行代码将结果反馈给客户端TCP协议是流式协议:在数据传输过程中大量数据的传入会造成数据的丢失和不完整解决数据传输过程中的问题:自定义协议应用:基于网络上传和下载文件socketserver:基于模块实现并发服务端满足的条件一直对外提供服务并......
  • 代码随想录算法训练营第十五天| 110.平衡二叉树 (优先掌握递归) 257. 二叉树的所有路径
     110.平衡二叉树(优先掌握递归)难点:要求每个节点的左右字数的高度相减<=1,因此,需要对每个节点都进行检查,难就难在怎么获得任意节点的高度其中递归是最简单的: 1intisB_cursor(TreeNode*node,bool&isBalance)2{3if(isBalance==false)return0;4if......
  • js:highlight.js实现代码的语法高亮
    highlight.jsSyntaxhighlightingfortheWeb译文:highlight.js为Web突出显示语法文档https://highlightjs.org/使用方式1、方式一:cdn<linkrel="stylesheet"href="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/atom-one-da......