java的程序编码_Java 程序编码规范(初学者要牢记)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
所有的程序开发手册都包含了各种规则。一些习惯自由程序人员可能对这些规则很不适应,但是在多个开发人员共同写作的情况下,这些规则是必需的。这不仅仅是为了开发效率来考虑,而且也是为了后期维护考虑。
命名规范
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)
Package 的命名
Package 的名字应该都是由一个小写单词组成。
Class 的命名
Class 的名字必须由大写字母开头而其他字母都小写的单词组成
Class 变量的命名
变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。
Static Final 变量的命名
Static Final 变量的名字应该都大写,并且指出完整含义。
参数的命名
参数的名字必须和变量的命名规范一致。
数组的命名
数组应该总是用下面的方式来命名:
byte[] buffer;
而不是:
byte buffer[];
方法的参数
使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:
SetCounter(int size){
this.size = size;
}
Java 文件样式
所有的 Java(*.java) 文件都必须遵守如下的样式规则
版权信息
版权信息必须在 java 文件的开头,比如:
/**
* Copyright ? 2000 Shanghai XXX Co. Ltd.
* All right reserved.
*/
其他不需要出现在 javadoc 的信息也可以包含在这里。
Package/Imports
package 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。
package hotlava.net.stats;
import java.io.*;
import java.util.Observable;
import hotlava.util.Application;
这里 java.io.* 使用来代替InputStream and OutputStream 的。
Class
接下来的是类的注释,一般是用来解释类的。
/**
* A class representing a set of packet and byte counters
* It is observable to allow it to be watched, but only
* reports changes when the current set is complete
*/
接下来是类定义,包含了在不同的行的 extends 和 implements
public class CounterSet
extends Observable
implements Cloneable
Class Fields
接下来是类的成员变量:
/**
* Packet counters
*/
protected int[] packets;
public 的成员变量必须生成文档(JavaDoc)。proceted、private和 package 定义的成员变量如果名字含义明确的话,可以没有注释。
存取方法
接下来是类变量的存取的方法。它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上。
/**
* Get the counters
* @return an array containing the statistical data. This array has been
* freshly allocated and can be modified by the caller.
*/
public int[] getPackets() { return copyArray(packets, offset); }
public int[] getBytes() { return copyArray(bytes, offset); }
public int[] getPackets() { return packets; }
public void setPackets(int[] packets) { this.packets = packets; }
其它的方法不要写在一行上
构造函数
接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。
访问类型 ("public", "private" 等.) 和 任何 "static", "final" 或 "synchronized" 应该在一行中,并且方法和参数另写一行,这样可以使方法和参数更易读。
public
CounterSet(int size){
this.size = size;
}
java的程序编码_Java 程序编码规范(初学者要牢记)相关推荐
- java菱形乱码 编码_JAVA:编码与乱码问题
一.为什么要编码? 由于人类的语言太多,因而表示这些语言的符号太多,无法用计算机的一个基本的存储单元----byte来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解. byte一个字节即8 ...
- linux java字符集编码_Java字符集编码
1. 概述 在 下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 65 ...
- java字符转变汉子_java字符编码转换研究(转) 第一部分收藏
未找到原出处,请见谅. 1. 概述 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2 ...
- java字符集编码_Java字符集编码
1.概述 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587& ...
- java语言执行过程_Java程序的运行过程(执行流程)分析
万事知其然,要知其所以然,所以本节带大家来详细了解一下 Java 程序的执行过程.从<使用记事本编写运行Java程序>一节的案例可以看出,Java 程序的运行必须经过编写.编译和运行 3 ...
- ansi编码_Java 字符编码
点击上方蓝字关注我们! 作者介绍 王云静,Java 开发工程师,2018 年 7 月加入去哪儿网,目前在目的地 - 呼叫中心.曾获得过 ACM 亚洲区域赛铜牌. ----- 基本概念 字符集 字符(C ...
- java程序设计教程视频_Java程序设计标准教程:DVD视频教学版
第1章 搭建Java开发环境. 001 1.1 Java语言的产生与发展 002 1.2 Java语言的特点 002 1.3 搭建Java开发环境 003 1.3.1 下载JDK 003 1.3.2 ...
- java sql编码_java+sql 编码 UTF-8、ISO-8859-1、GBK
java 编码 UTF-8.ISO-8859-1.GBK Java支持UTF-8.ISO-8859-1.GBK等各种字体编码,可笔者发现Java中字体编码的问题仍难倒了不少程序员,网上虽然也有不少关于 ...
- java程序编译_Java程序的编译过程
Java的编译期是一个模糊的概念,需要具体分析. 将 *.java文件转为 *.class的过程称为编译器的前端(前端编译).例如:JDK的javac编译器. 把字节码( *.class文件) 转变为 ...
最新文章
- sqlite复制数据主键重复_Flutter 数据库指南
- 讨论:Service层需要接口吗?
- 除了Java,为什么我们要学Python?
- 润乾V5部署url应用名为空applet无法打印解决方案
- ASP。NET 中SQL防注入攻击
- Django-Json 数据返回
- 给其他账户访问mysql的权限,将postgresql数据库的权限授予其他用户
- 一文详解CSS常见的五大布局
- Linux平台安装Clion
- Flutter进阶—质感设计之进度条
- intel服务器最新主板芯片组,intel主板芯片组的介绍大全
- JGJ254-2011 建筑施工竹脚手架安全技术规范 免费下载
- 多自由度机械臂运动学正-逆解|空间轨迹规划控制|MATLAB仿真+实际机器调试
- HTML CSS整理笔记(建议收藏)
- ye读春秋左传系列视频讲解
- 到底要学前端还是后端?
- 专治选择困难症:Mate 10 Pro和P20 Pro之间如何选?
- KubeSphere 社区双周报 | KubeKey v3.0.2 发布 | 2022-11-24
- 第一次当管理时,为啥会有很强的挫败感?
- 2-3 编写一个三角形类
热门文章
- java int在那个包_int intValue()
- Python: PyCharm中导入matplotlib时报错:“Backend Qt5Agg is interactive backend”的解决方案
- 染色产品常见疵病分析
- 马化腾提问_互联网融合创新会带来哪些改变_知乎回答部分总结
- Python爬虫技巧!网站有反爬?我们有selenium!
- SQL SERVER LEFT JOIN, INNER JOIN, RIGHT JOIN
- 指针知识(四):指针数学计算
- Silverlight toolkit 中ListPicker控件的用法【转】
- Linux的目录说明
- CakePHP中文手册【翻译】-基本概念