方法/步骤

 
  1.  

    1. *不允许把多个短语句写在一行中,即一行只写一条语句

    1. 示例:如下例子不符合规范。

    LogFilename now = null;        LogFilename that = null;

    应如下书写:

    LogFilename now = null;

    LogFilename that = null;

    2. *if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}。

    示例:如下例子不符合规范。

    if(writeToFile)           writeFileThread.interrupt();

    应如下书写:

    if(writeToFile)

    {

    writeFileThread.interrupt();

    }

    3. *相对独立的程序块之间、变量说明之后必须加空行。

    示例:如下例子不符合规范。

    if(log.getLevel() < LogConfig.getRecordLevel())

    {

    return;

    }

    LogWriter writer;

    应如下书写:

    if(log.getLevel() < LogConfig.getRecordLevel())

    {

    return;

    }

    LogWriter writer;

    int index;

    4. *对齐只使用空格键,不使用TAB键。

    说明:以免用不同的编辑器阅读程序时,因TAB键所设置的空格数目不同而造成程序布局不整齐。

    JBuilder、UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开。

    5. *在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;

    进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。

    说明:采用这种松散方式编写代码的目的是使代码更加清晰。

    由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,

    如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在Java语言中括号已经是最清晰的标志了。

    在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给操作符留空格时不要连续留两个以上空格。

    示例:

    (1) 逗号、分号只在后面加空格。

    int a, b, c;

    1.

    (2) 比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格。

    if (current_time >= MAX_TIME_VALUE)

    a = b + c;

    a *= 2;

    a = b ^ 2;

    1.

    (3) "!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。

    flag = !isEmpty; // 非操作"!"与内容之间

    i++;             // "++","--"与内容之间

    1.

    (4) "."前后不加空格。

    p.id = pid;     // "."前后不加空格

    1.

    (5) if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。

    if (a >= b && c > d)

  2.  

    命名规范:

    1.包名采用域后缀倒置的加上自定义的包名,采用小写字母。在部门内部应该规划好包名的范围,防止产生冲突。

    部门内部产品使用部门的名称加上模块名称。产品线的产品使用产品的名称加上模块的名称。

    2.类名和接口使用类意义完整的英文描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。

    3.方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。

    4. 方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构。

    5.属性名使用意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同。

    6. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 final static 修饰。

    7.属性名可以和公有方法参数相同,不能和局部变量相同,引用非静态成员变量时使用 this 引用,引用静态成员变量时使用类名引用。

  3.  

    复杂度:

    建议的最大规模:

    继承层次 4层

    类的行数 1000行(包含{})

    类的属性 10个

    类的方法 20个

    类友好方法 10个

    类私有方法 15个

    类保护方法 10个

    类公有方法 10个

    类调用方法 20个

    方法参数 5个

    return语句 1个

Java 编程规范,常见规范,命名规范,复杂度的更多相关文章

  1. java开发规范总结_命名规范

    规范需要平时编码过程中注意,是一个慢慢养成的好习惯 1.文件 1.属性文件后缀为properties,并且符合java中i18n的规范:   2.对于各产品模块自己的配置文件必须放置在自己模块的con ...

  2. Java基础入门 - 标识符及其命名规范

    类名.变量名.方法名都称为标识符 标识符命名规范: 由字母(A-Z或a-z).数字.下划线(_)和美元符($)中的一种或多种组合而成 不可以数字开头 大小写敏感 关键字不能用作标识符 合法标识符如:D ...

  3. JAVA 增删改查接口命名规范(dao层与 service 层

    开发时,有很多规范,这里写的是命名规范. Dao 接口命名   insert batchInsert selectOne selectById count selectList update dele ...

  4. HTML编码规范 - (WEB前端命名规范)

    HTML编码规范 (一)命名规则: 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wr ...

  5. Java标识符中常见的命名规则

    标识符:就是给类,接口,方法,变量等起名字.组成规则:A:英文字母大小写B:数字字符C:$和_注意事项:A:不能以数字开头B:不能使Java中的关键字C:Java语言严格区分大小写常见的命名规则:见名 ...

  6. Web前端开发规范 之html命名规范

    1.文件名称命名规则 统一用小写的英文字母.数字和下划线,不得包含汉字空格和特殊符号 2.索引文件命名 一般用index为名字  如index.html  index.jsp 3.各子页面的命名规则 ...

  7. Web前端开发规范之图片命名规范

    图片的名称分为头尾两部分,用下划线隔开,头部表示此图片的大类性质,例如广告,标志,菜单,按钮等 banner:放置在页面顶部的广告,装饰图案等长方形的图片 logo:标志性的图片 button:在页面 ...

  8. java编程之常见的排序算法

    java常见的排序算法 第一种:插入排序 直接插入排序 1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的 ...

  9. 10分钟了解代码命名规范(Java、Python)

    前言 关于代码命名,我相信是经常困扰很多小伙伴的一个问题,尤其是对于强迫症晚期患者.怎么说呢,每次小编在写代码之前,总会在想啊想啊,用什么命名法好呢?对于经常在C++.Java.Python等主流语言 ...

  10. Java编程规范整理

    分享一份网友整理的编程过程中的命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以"."连接的标识符构成,通常第一个标识符为 ...

随机推荐

  1. 【学员管理系统】0x04 数据库连接优化

    [学员管理系统]0x04  pymysql数据库连接优化 写在前面 项目详细需求参见:Django项目之[学员管理系统] 优化实现 把操作封装成函数 我们之前使用pymysql操作数据库的操作都是写死 ...

  2. Java 迭代器

    1.快速报错 public class FailFast { public static void main(String[] args) { List<String> c = new A ...

  3. 14.Django自带的admin配置

    admin有自己的默认显示,要自定义显示的样式,一般需要自己定义一个类,在自己定义的类里进行相应的设置,然后,把自己的类交给装饰器 交给装饰器的方法有两种: 1.@admin.register(Pub ...

  4. ALV 红绿灯编写

    [转http://lz357502668.blog.163.com/blog/static/164967432012417102133216/]ALV 指示燈 編寫 1,在內表中申請一個字段. 該字段 ...

  5. 关于scrollLeft的获取在不同浏览器或相同浏览器的不同版本下的获取

    chrome61向w3c规则靠拢,document.body.scrollLeft获取的值一直为0,需要使用document.documentElement.scrollLeft(或document. ...

  6. Data Structure Trie: suffix problem

    http://www.geeksforgeeks.org/suffix-array-set-1-introduction/ http://www.geeksforgeeks.org/pattern-s ...

  7. [原创]java WEB学习笔记02:javaWeb开发的目录结构

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. Linux电源管理(2)-Generic PM基本概念和软件架构【转】

    本文转载自:http://www.wowotech.net/pm_subsystem/generic_pm_architecture.html 1. 前言 这里的Generic PM,是蜗蜗自己起的名 ...

  9. China sets economic reform priorities for 2015

    BEIJING -- China's State Council, the cabinet, on Monday unveiled this year's priorities for economi ...

  10. Spring Cloud之整合ZK作为注册中心

    Eureka已经闭源了,用zk可以替代之 Eureka 作为注册中心 Dubbo也是zk作为注册中心的 Zookeeper简介 Zookeeper是一个分布式协调工具,可以实现服务注册与发现.注册中心 ...