• java+selenium脚本编写规范


    2.    源文件规范
    2.1    文件名
    源文件以最顶层的类名来命名,大小写敏感,文件扩展名为.java
    2.2    文件编码 UTF-8
    源文件要求编码格式为UTF-8
    2.3    源文件结构
    一个源文件包含(按顺序地):
    许可和版权信息(如有需要)
    package语句
    import语句
    一个顶级类(只有一个)
    以上每个部分之间用一个空行隔开
     
    2.4    文件长度
    按照sun的规范,代码行数尽量不要超过2000行
     
    2.5    import语句
    禁止使用通配的方式import,列如:import  java.utils.*
    3.    排版格式
    3.1    大括号
    3.1.1  使用大括号
    大括号与if, else, for, do, while语句一起使用,即使只有一条语句(或是空),也应该把大括号写上。
    比如:
    if(a==b) {
    return true;
    }
    3.1.2  非空块
     
    对于非空块和块状结构,大括号遵循Kernighan和Ritchie风格 (Egyptian brackets):
     
    l   左大括号前不换行
    l   左大括号后换行
    l   右大括号前换行
    l   如果右大括号是一个语句、函数体或类的终止,则右大括号后换行; 否则不换行。例如,如果右大括号后面是else或逗号,则不换行。
    3.1.3  空块
    一个空的块状结构里什么也不包含,大括号可以简洁地写成{},不需要换行。例外:如果它是一个多块语句的一部分(if/else 或 try/catch/finally) ,即使大括号内没内容,右大括号也要换行。
    比如:
    void doNothing() {}
     
    3.2    缩进(indentation)
    每当开始一个新的块,缩进增加4个tab,当块结束时,缩进返回先前的缩进级别。缩进级别适用于代码和注释。
     
    3.3    行宽(line width)
    行宽采用120字符的限制
    3.4    自动换行
    一般情况下,一行长代码为了避免超出列限制(120个字符)而被分为多行,我们称之为自动换行(line-wrapping)。
    3.4.1  什么时候自动换行
    自动换行的基本准则是:更倾向于在更高的语法级别处断开。
    l   如果在非赋值运算符处断开,那么在该符号前断开(比如+,它将位于下一行)。这条规则也适用于以下“类运算符”符号:点分隔符(.),类型界限中的&(<T extends Foo & Bar>),catch块中的管道符号(catch(FooException | BarException e)
    l   如果在赋值运算符处断开,通常的做法是在该符号后断开(比如=,它与前面的内容留在同一行)。这条规则也适用于foreach语句中的分号。
    l   方法名或构造函数名与左括号留在同一行。
    l   逗号(,)与其前面的内容留在同一行。
    3.5    空行
    空行将逻辑相关的代码段分隔开,以提高可读性。
    下列情况应该总是使用两个空行:
    l   一个源文件的两个片段(section)之间
    l   类声明和接口声明之间
    下列情况应该总是使用一个空行:
    l   两个方法之间
    l   方法内的局部变量和方法的第一条语句之间
    l   块注释或单行注释参加注释规范
    l   一个方法内的两个逻辑段之间,用以提高可读性
    3.6    使用Eclipse的formatter
    1.     下载Eclipse的formatter文件:http:leweg.com/fomatter.xml
    2.     导入eclipse: Window → Preferences → Java → Code Style → Formatter → Import →选择文件
    3.     格式化
    a) 手动格式化: 右键Java文件选择Source→Format或者通过快捷键 Ctrl + Shift + F来对文件进行格式化
    b) 自动格式化: Window→ Preferences -→ Java -→ Editor -→ Save Actions,先勾选"Perform the selected actions on save",再勾选"Formatsource code"
    3.7   空格
     " ="、"+"、"<"、">"、"!="等符号左右两边都必须有空格,如:String str = "自动化测试";
    4.    命名规范(不能用拼音
    4.1     工程名
    按照所属项目名称命名以UpperCamelCase风格编写。
    4.2    包名
    包名全部小写,包名的前缀总是一个顶级域名,通常是com, edu, gov, mil, net, org, 或1981年ISO 3166标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。
    以创盟为例:com.xunions.mng——创盟后台管理
    4.3    类名
    类名都以UpperCamelCase风格编写,通常为名词,尽量避免不被广泛使用的缩写.
    如:CreateSpace——创建空间
    4.4    方法名
    方法名都以UpperCamelCase风格编写,通常为动词。
    4.5    常量名
    全部字母大写,用下划线分隔单词。
    普遍认为final定义的变量即为常量,但并不绝对,只有认为永远不会改变的才为常量
    比如logger, 我们一般不认为是常量:
    static final Logger logger = Logger.getLogger(MyClass.getName());
     
    建议: 因为一些代码检查工具, 比如sonar会检查final的常量名必须为大写,可以考虑logger不加final
    4.6    变量名
    以lowerCamelCase风格编写
    4.7    局部变量和类属性重名
    局部变量和类属性重名,虽然是合法的,但是如果没有IDE工具颜色标识,会让人误解。
    4.8    长整形数值以大写'L'结尾
    对于长整形数值来说,以小写'l'结尾,很容易误看为1,所以应该使用大写'L'。
    long userId=23l; // 使用了小写l
    long userId=23L; // 使用大小L
    4.9    Spring Bean命名
    使用类名本身, 并且第一个字母小写
     
    5.    注释规范
    良好的注释习惯,是一个优秀的开发人员需要具备的基本素养。
     
    Java的注释分两种,实现注释(implementationcomments)和文档注释(document comments)。
     
     
    5.1    实现注释(Implementation Comments)
    注释模板
    /**
    * Create by 姓名 on 2016/9/5 11:07
    * Function:个人中心页面
    * Desc:
    */
    备注
    1.姓名、时间、功能一定要有, 
    2.当功能复杂是时候,就需要在描述中给出一些解释,否则可以省略
    5.2    文档注释(Documentation Comments)
     
    文档注释描述Java的类、接口、构造器,方法,以及字段(field)。每个文档注释都会被置于注释定界符/**...*/之中,一个注释对应一个类、接口或成员。该注释应位于声明之前:
    注释模板
    /**
    * 说明方法的作用
    * @param context 上下文
    * @param attrs 属性
    * @param defStyleAttr 默认属性
    * @return 说明返回值作用
    */
    备注
    1.构造方法,公有方法,私有方法按照此注释模板注释,
    2.如果简单的方法可以使用双斜杠注释,但方法一定可以"见名知意"
    3.重载的方法每个都需要按照此方法注释
    4.复写的方法如果和父类实现不一样的功能,需要在注释中说明
  • 相关阅读:
    hdu 2275数据结构水题
    咨询工具、模型、方法论学习笔记 序
    DevExpress DXperience XtraTreeview 如何获取当前光标所在位置的 Node
    Delphi 各个编译版本的开关值
    把对象序列化到文件中和从文件中反序列化的管理类
    Advantech 硬件控制卡的 c# 接口函数
    Delphi 中的 TTimer 和 .NET Framework 中的 Timer 的计时周期研究
    C#设计模式编程之抽象工厂模式新解
    敏捷开发
    关于HTML静态页面(含自动分页)生成的可行性方案
  • 原文地址:https://www.cnblogs.com/TomBombadil/p/10973189.html
Copyright © 2020-2023  润新知