美文网首页
Flutter 命名规范记录

Flutter 命名规范记录

作者: 努力才幸运 | 来源:发表于2020-10-27 17:49 被阅读0次

    首先,附上链接:https://dart.dev/guides/language/effective-dart/style
    用Flutter写了一个项目,也迭代了一个版本,代码评审也开了两次,虽说还是不够完善,但是可以慢慢来,慢慢总结、慢慢优化!

    一、标识符
    Dart中有三种标识符:
    UpperCamelCase:大写名字,每个单词的第一个字母要大写,包括第一个。
    lowerCamelCase:小写名称,每个单词的第一个字母要大写,除了第一个是小写的,即使它是首字母缩略词。
    lowercase_with_underscores:仅使用小写字母,首字母缩写,并使用_分隔单词。

    1、类,枚举类型,typedef和类型参数应将每个单词的首字母大写(包括第一个单词),并且不使用分隔符。

    class SliderMenu { ... }
    
    class HttpRequest { ... }
    
    typedef Predicate<T> = bool Function(T value);
    

    包括打算在元数据注释中使用的类

    class Foo {
      const Foo([arg]);
    }
    
    @Foo(anArg)
    class A { ... }
    
    @Foo()
    class B { ... }
    

    如果注释类的构造函数不带任何参数,则可能要为其创建一个单独的lowerCamelCase常量。

    const foo = Foo();
    
    @foo
    class C { ... }
    

    与类型一样,扩展名应大写每个单词的首字母(包括第一个单词),并且不使用分隔符。

    extension MyFancyList<T> on List<T> { ... }
    
    extension SmartIterable<T> on Iterable<T> { ... }
    

    2、(lowercase_with_underscores)请使用来命名库,程序包,目录和源文件:一些文件系统不区分大小写,因此许多项目要求文件名全部为小写。使用分隔符允许名称仍以该形式可读。使用下划线作为分隔符可确保名称仍然是有效的Dart标识符,如果该语言以后支持符号导入,则可能会有所帮助。


    截屏2020-10-27下午5.14.38.png

    3、(lowerCamelCase)类成员,顶级定义,变量,参数和命名参数应将除第一个单词以外的每个单词的首字母大写,并且不使用分隔符。


    截屏2020-10-27下午5.14.55.png
    截屏2020-10-27下午5.15.10.png

    4、缩写词和缩写词的首字母大写要长于单词之类的两个字母。
    大写的首字母缩写词可能很难读懂,多个相邻的首字母缩写词可能导致名称不明确。例如,给定一个以开头的名称HTTPSFTP,则无法分辨它是指HTTPS FTP还是HTTP SFTP。

    为避免这种情况,首字母缩写词和缩写词都像普通单词一样大写。

    例外: IO(输入/输出)之类的两个字母的首字母大写:IO。另一方面,ID(标识)之类的两个字母的缩写仍像常规单词一样大写Id。


    截屏2020-10-27下午5.22.32.png

    5、不要使用前缀字母。

    BCPL时代出现了匈牙利表示法和其他方案,当时编译器没有做很多事情来帮助您理解代码。由于Dart可以告诉您声明的类型,范围,可变性和其他属性,因此没有理由在标识符名称中编码这些属性。

    截屏2020-10-27下午5.22.32.png

    相关文章

      网友评论

          本文标题:Flutter 命名规范记录

          本文链接:https://www.haomeiwen.com/subject/keatvktx.html