JAVA初学者必看-Java编码规范

精贴 置顶
2006 0

Java编码规范(自己个人小结,供大家参考)

  下面是我个人刚学JAVA时,对JAVA编码规范的一些小结,希望能给大家一些帮助!更详细的可以查看SUN提供的JAVA编码规范!

  一 命名惯例

  1)类:名词或名词性词组,每个单词首字母大写;一般不使用缩写,除非其缩写更通用和便于理解,如HTML;

  类命名举例:class Person; class SpringRain

  2)方法:动词或动词性词组,首字母小写,第二个及以后的单词首字母大写;

  方法命名举例:run(); displayInformation();

  3)接口: 同"类"的命名规则

  接口命名举例:interface Runner;

  4)变量: 名词或名词性词组,首字母小写,第二个及以后的单词首字母大写;

  不提倡使用下画线"_"和美元符"$"作为变量开头;单词间可以使用下画线分隔;

  变量名不宜过长但也应有意义,除非是临时使用(例如只涉及几行代码)后即丢弃

  的情况,不建议使用单个字母做变量名,常用的临时使用的变量名包括表示整数的

  i,j,k,m,n和表示字母的c以及表示异常对象的e等。

  变量命名举例:int age; int student_age; String studentName; Exception e;

  5)常量:名词或名词性词组,每个单词的首字母大写;单词间使用下画线分隔。

  常量命名举例:int MAX_LEVEL; double Comm_Tax;

  6)包: 名词或名词性词组,全部小写;一般使用本公司/组织网站域名的逆序

  后跟具体的软件内部模块名

  包命名举例: package com.sun.java; package com.mycompany.db;

  二 文件组织

  1.建议一个源文件中只定义一个Java类或接口,无论该类或接口是否被声明为pulibc的,

  文件名都以其来命名,源文件中各成分的出现顺序为:

  1)开始的注释

  2)package语句

  3)import语句

  4)类/接口声明

  2.在一个Java类中,各种成分的排列顺序本无严格规定,也没有特别通用的惯例,为便于掌握,给出一个推荐的顺序:

  1)属性声明

  2)构造方法声明

  3)static语句

  4)普通方法声明

  5)main方法声明

  6)内部类的声明

  三 分隔和缩进

  1.使用空行

  在下述情况下使用单行的空白行来分隔:

  1)在方法之间

  2)在方法内部代码的逻辑段落小节之间

  3)在方法中声明局部变量之后,具体的Java语句之前

  4)在注释行之前

  在同一个源文件中定义的多个类/接口之间使用双行的空白行来分隔

  2.使用空格符

  除正常的成分之间以空格符分隔名(如数据类型和变量名之间),在下述情况下也应使用一个空格符来分隔:

  1)运算符和运算符之间,如: c = a + b;

  2)在参数列表中的逗号后面,如: void m1(int year, int month) {}

  3)在if,for,while待语句之后 如: if (a > b) {}

  3.使用换行符

  不建议在一行中写多条语句,一条语句的长度一般超过了80个字符时,应该换行

  4.使用小括号

  可以使用小括号来强行规定运算顺序

  5.使用花括号

  开始位置可以位于当前内容的尾部,也可以另起一行

  6.使用缩进

  在下述情况下应用缩进

  1)类中的成分

  2)方法体或语句块中的成分

  3)换行时的非起始行

  缩减量一般为在上一级成分的基础上再缩进四个空格,或跑到下一个制表位

四 声明语句

  建议每行声明一个变量,并尽量在声明变量的同时对其进行初始化,除非其初值尚不确定。局部变量应在其所在的方法或语句块的开头集中声明,而不应随用随声明。

  五 下面给出一个程序,结合上面的介绍,注意下Java编码规范

  注意:在eclipse开发工具中,把代码写好之后,可以用快捷键:CTRL + SHIFT + F来自动格式化代码


 /**
  * Copyright: Copyright (c) 2002-2004
  * Company: JavaResearch(http://www.javaresearch.org )
  * 最后更新日期:2003年4月3日
  * @author Cherami
  */
  package org.jr.util;
  import java.util.*;
  /**
  * 此类中封装一些常用的List操作方法。
  * 所有方法都是静态方法,不需要生成此类的实例,
  * 为避免生成此类的实例,构造方法被申明为private类型的。
  * @since 0.5
  */
  public class ListUtil {
  /**
  * 私有构造方法,防止类的实例化,因为工具类不需要实例化。
  */
  private ListUtil() {
  }
  /**
  * 将数组中的内容全部添加到列表中。
  * @param array 数组
  * @param list 列表
  * @since 0.5
  */
  public static void addArrayToList(Object[] array, List list) {
  if (array == null || list == null || array.length == 0) {
  return;
  }
  for (int i = 0; i < array.length; i++) {
  list.add(array[i]);
  }
  }
  /**
  * 将数组中的内容全部添加到列表中。
  * @param array 数组
  * @param list 列表
  * @param start 开始位置
  * @since 0.5
  */
  public static void addArrayToList(Object[] array, List list, int start) {
  if (array == null || list == null || array.length == 0) { return;
  }
  for (int i = 0; i < array.length; i++) {
  list.add(start + i, array[i]);
  }
  }
  }

  引用楼主 johnston678 的帖子:

  注意:在eclipse开发工具中,把代码写好之后,可以用快捷键:CTRL + SHIFT + F来自动格式化代码

  网友补充:不要依赖于 IDE 的代码格式化功能,应该在写的时候就做到规范格式的代码。

  一个层次的缩进推荐采用 4 个空格,而不是 1 个制表符,而 Eclipse 默认格式化是采用 1 个制表符的,可以采用下面的方式更改一下:

  Window ——> Preferences…… ——> Java ——> Code Style ——> Formatter 点右边的“Edit……”按钮,切换到第一个选项卡“Indentation”,在 General settings 组将 Tab policy 由 Table only 改为 Space only,同时把 Indentation size 和 Tab size 改为 4,最后把最上面的 Profile name 取一个名字,名字任意,再点 OK 按钮就可以了。以后按 Tab 键或者 Ctrl + Shift + F 会自动采用 4 个空格作为一个层次的缩进。

  如果采用 EditPlus 编写代码的话,也可以更改 Tab 的设置。

  另外,对于 HTML、XML、CSS、JavaScript 我也有一些代码格式方面的建议:

  1,HTML、XML 由于层次缩进比较多,建议采用两个空格作为一层缩进;

  2,CSS 和 JavaScript 为了与 HTML 配合,也采用两个空格作为一层缩进;

  3,HTML、XML 的标签名、属性称全部使用小写字母,HTML 尽量能符合 XHTML 的规范,避免使用 XHTML 不推荐使用的标签,比如:font、applet 等等;

  4,HTML 的属性值采用双引号界定;

  5,JavaScript 在尽量使用标准的语法、对象等,变量声明能加上 var.字符串常量统一采用单引号界定

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
用ASP实现网页BBS 2010-11-01
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
ASP设计常见问题及解答精要 2010-11-03
如何进行关键词分析? 2010-09-24
.net获取URL路径多种方法 2010-11-12
js获取当前域名 2010-11-16
PHP遍历所有文件夹的函数 2010-09-13
win7系统64位的 怎么设置32位的i... 2013-07-29
C#笔试题 2010-09-03
.net连接 ACCESS 和 SQLSERVER 2013-07-18
让用户快速加入网站QQ群代码!鼠... 2013-12-02
站长必去的十个编程网站 2010-10-19
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都