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.复写的方法如果和父类实现不一样的功能,需要在注释中说明

java+selenium脚本编写规范的更多相关文章

  1. appium+python 【Mac】UI自动化测试封装框架介绍 <七>---脚本编写规范

    脚本的使用,注释非常关键,无论自己的后期查看还是别人使用,都可以通过注释很明确的知道代码所表达的意思,明确的知道如何调用方法等等.每个团队均有不同的商定形式来写脚本,因此没有明确的要求和规范来约束.如 ...

  2. Postman接口测试脚本编写规范

    Postman接口测试脚本编写规范 1.前言 2.名词解释 3.接口测试脚本规范 3.1接口测试脚本编写的规范 3.2 Postman使用规范 4.单个接口测试 5.整个流程的开发过程 1.前言 本规 ...

  3. shell脚本编写规范和相关变量类型

    shell编程规范与变量    一.shell脚本概述    ① 什么是shell? Linux中有哪些shell?    ② shell的作用   ③ 用户的登录shell    ④ shell脚本 ...

  4. robot脚本编写规范

    一个robot脚本主要有四部分组成: ***settings*** 设置 ***keywords*** 关键词 ***variables*** 变量 ***test cases*** 测试用例 一般, ...

  5. robotframework 脚本编写规范

    测试集.脚本 测试脚本的名字不要超过20个字符,文件类型应该为txt  名字必需易读且有意义(看名知意)  记住测试集的名字是自动根据文件.目录的名字创建的.后缀名会被截去,下划线会转换为空格,如果名 ...

  6. Selenium脚本编写环境的搭建/XPath

    编写环境主要分为三个部分: JUnit : java单元测试框架: Firebug: firefox 附加组件,Firebug是firefox下的一个扩展,能够调试所有网站语言,如Html,Css等, ...

  7. 【Shell Basic】Shell脚本编写规范

    shell脚本需要有较高的实用性.可维护.可阅读.方便他人阅读,因而需要建立一定的规范来操作 dream361@master:~$ cat test2.sh #!/bin/bash 所使用的bash程 ...

  8. Shell脚本编写规范

    shell脚本需要有较高的实用性.可维护.可阅读.方便他人阅读,因而需要建立一定的规范来操作 dream361@master:~$ cat test2.sh #!/bin/bash 所使用的bash程 ...

  9. Java语言的编写规范

    ,区别大小写.2,注意编程格式,比如对齐啊 什么的.3,注释一定要写好,有统一的// 或者/* */,这样让程序好看.4,定义变量的时候竟让别人看明白,不要A 啊B 啊什么的 要用英语单词这类的,简而 ...

随机推荐

  1. Docker_简介(1)

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 ...

  2. SpringBoot学习笔记四之后台登录页面的实现

    注:图片如果损坏,点击文章链接: https://www.toutiao.com/i6803542216150090252/ 继续之前完成的内容,首先创建一个常量类 常量类的内容 服务器端渲染 前后端 ...

  3. Android官方文档翻译 十 2.3Styling the Action Bar

    Styling the Action Bar 设计菜单栏的样式 This lesson teaches you to 这节课教给你 Use an Android Theme 使用一个Android主题 ...

  4. C 库函数 - pow()

    1.C 标准库 - <math.h> 2.C 库函数 double pow(double x, double y) 返回 x 的 y 次幂,即 xy. 3.pow() 函数的声明. dou ...

  5. after effects的xml格式工程文件aepx的格式分析(一)

    表面上看,AE的工程文件可以另存为xml格式,我们可以通过直接编辑XML来做一些事情. 很可惜,通过aepx文件修改AE工程,能做到的非常有限.理由是: 1.重要的属性都放在了标签的bdata这个属性 ...

  6. 【记录一个问题】android ndk中不支持pthread_yield()

    如题 使用这个函数报如下错误: error: use of undeclared identifier 'pthread_yield' pthread_yield(); 不得已,使用usleep(50 ...

  7. 🏆【Alibaba中间件技术系列】「Nacos技术专题」服务注册与发现相关的原理分析

    背景介绍 前几篇文章介绍了Nacos配置中心服务的能力机制,接下来,我们来介绍Nacos另一个非常重要的特性就是服务注册与发现,说到服务的注册与发现相信大家应该都不陌生,在微服务盛行的今天,服务是非常 ...

  8. 学习axios必知必会(1)~axios基本介绍、axios配置、json-server接口模拟工具

    一.axios基本介绍 1.axios(前端最流行的 ajax 请求库) 特点: ① 基于 xhr + promise 的异步 ajax 请求库 ② 浏览器端/node 端都可以使用 ③ 支持请求/响 ...

  9. golang中数组指针和指针数组当做函数参数如何修改数组中的值

    先理解:数组指针它的类型时指针,指针数组它的类型时数组 1. 数组指针当做函数的参数 package main import "fmt" func changeData(dataA ...

  10. Android 12(S) 图形显示系统 - SurfaceFlinger的启动和消息队列处理机制(四)

    1 前言 SurfaceFlinger作为Android图形显示系统处理逻辑的核心单元,我们有必要去了解其是如何启动,初始化及进行消息处理的.这篇文章我们就来简单分析SurfaceFlinger这个B ...