来学习了解下Flutter及Dart 编码规范?

本文介绍了Flutter和Dart的编码规范,包括样式、文档、使用和设计四大规范。强调了命名、花括号使用、注释风格、依赖导入、赋值、字符串连接、集合创建、参数默认值等方面的最佳实践。遵循这些规范可以提高代码可读性和团队协作效率。
摘要由CSDN通过智能技术生成

dart官方文档中的 【Effective Dart】

规范主要分为四个部分:
  • 样式规范
  • 文档规范
  • 使用规范
  • 设计规范

每个部分都有许多的例子说明,每个例子都会以下面五个词中的某些作为开头:

  • DO :表示你需要遵守的做法
  • DONT :表示这样的做法是非常不好的
  • PREFER :在多数情况下,都推荐的做法
  • AVOID: 在多数情况下,都应该避免的做法
  • CONSIDER: 需要你自己去斟酌的做法

在我看来,编码习惯都是因人而异的,并没有所谓的最佳方案。

如果你是一个人开发,当然不需要在意这些问题,但是如果你的代码需要展现给别人,或者你需要与别人协同开发,编码规范就非常有必要了。

下面,将会从官方文档中选取最基本,最典型,发生率较高的一些情况,作为规范说明。

✅表示正面做法,❌表示反面做法

样式规范

命名
DO: 类, 枚举, 类型定义, 以及泛型,都需要使用大写开头的驼峰命名法
✅
class SliderMenu { ... }

class HttpRequest { ... }

typedef Predicate<T> = bool Function(T value);

在使用注解时候,也应该这样

✅

class Foo {
  const Foo([arg]);
}

@Foo(anArg)
class A { ... }

@Foo()
class B { ... }

不过为一个类的构造函数添加注解时,你可能需要创建一个小写开头的注解变量

✅

const foo = Foo();

@foo
class C { ... }

DO: 命名库、包、目录、dart文件都应该是小写加上下划线

✅

library peg_parser.source_scanner;

import 'file_system.dart';
import 'slider_menu.dart';
❌

library pegparser.SourceScanner;

import 'file-system.dart';
import 'SliderMenu.dart';

DO: 将引用使用as转换的名字也应该是小写下划线

✅

import 'dart:math' as math;
import 'package:angular_components/angular_components'
    as angular_components;
import 'package:js/js.dart' as js;
❌

import 'dart:math' as Math;
import 'package:angular_components/angular_components'
    as angularComponents;
import 'package:js/js.dart' as JS;

DO: 变量名、方法、参数名都应该是小写开头的驼峰命名法

✅

var item;

HttpRequest httpRequest;

void align(bool clearItems) {
  // ...
}
✅

const pi = 3.14;
const defaultTimeout = 1000;
final urlScheme = RegExp('^([a-z]+):');

class Dice {
  static final numberGenerator = Random();
}
❌

const PI = 3.14;
const DefaultTimeout = 1000;
final URL_SCHEME = RegExp('^([a-z]+):');

class Dice {
  static final NUMBER_GENERATOR = Random();
}

花括号

DO: 只有一个if语句且没有else的时候,并且在一行内能够很好的展示,就可以不用花括号

✅

if (arg == null) return defaultValue;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值