Java 源程序的良好书写规范有哪些_使用Java作为程序语言时,好的命名规范有哪些...

变量名

普通变量命名应该采用首字母小写,其他字母首字母大写的方式。

final static变量的名字应该都大写,并且指出完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词如。

NUM_DAYS_IN_WEEK MAX_VALU

如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性

context=ctx message=msg

通过在结尾处放置一个量词,就可创建更加统一的变量

First(一组变量中的第一个) Last(一组变量中的最后一个) Next(一组变量中的下一个变量) Prev(一组变量中的上一个) Cur(一组变量中的当前变量)

无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。

索引变量:i、j、k等只作为小型循环的循环索引变量。

逻辑变量:避免用flag来命名状态变量,用is来命名逻辑变量。

if(isClosed){ dosomeworks; return; }

数组

总是使用以下方式定义数组:

int[] arr = new int[10];

禁止使用C语言的是形式:

禁止 int arr[] = new int[10];

集合

数组或者容器推荐命名方式为名词+s的方式,例如:

List persons = getPerson(); for(Person person : persons){ dosomeworks; }

泛型

应该尽量简明扼要(最好是一个字母),以利于与普通的class或interface区分

Container中的Element应该用E表示;Map里的key用K表示,value用V;Type用T表示;异常用X表示

如果需要接收多个Type类型的参数,应该用邻接T的大写字母——例如S——来依次表示,当然也可以用T1, T2这样的方式

public class HashSet extends AbstractSet {…} public class HashMapextends AbstractMap {…} public class ThreadLocal {…} public interface Functor { T val() throws X; }

推荐的命名

1.当要区别接口和实现类的时候,可以在类的后面加上“Impl”。

interface Container class ContainerImpl

2.Exception类最好能用“Exception”做为类命名的结尾

DataNotFoundException InvalidArgumentException

3.抽象类最好能用“Abstract”做为类命名的开头

AbstractBeanDefinition AbstractBeanFactory

4. Test类最好能用“Test”做为类命名的结尾

ContainerTest

5.简称与缩写(不推荐使用)

cp代表colorPoint buf代表buffer off代表offset len代表length

除非是在循环中,否则一般不推荐使用单个字母作为变量名,不过也有例外,即约定俗成的单个字母

b代表byte c代表char d代表double e代表Exception f代表float i, j, k代表整数 l代表long o代表Object s代表String v代表某些类型的特定值

代码风格

花括号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java邮箱exchange_使用Javamail访问Microsoft Exchange邮箱(IMAP,MS Exchange)

我需要通过IMAPS JavaMail连接到Microsoft Exchange Server.首先,我得到了:A1 NO AUTHENTICATE failed.javax.mail.AuthenticationFailedException: AUTHENTICATE failed.我的调试器中的异常.然后,我禁用了一些身份验证协议:imapProps.setProperty("…

java.equal例子_Java中的== 和equals()方法详解与实例

Java中的 和equals()方法:Java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean,他们之间的比较,应用双等号(),比较的是他们的值。2.引用数据类型…

aix系统升级失败提示java_AIX系统补丁升级失败处理

问题描述:现网一台IBM P550小型机,初始版本通过oslevel –r命令检查为5300-02,在IBM官方网站下载5300-06补丁并升级到5300-06后系统报错,缺少sysmgt.websm.apps 5.3.0.60,sysmgt.websm.rte 5.3.0.60两个文件问题处理&a…

java 序列化工具kryo_java jackson avro kryo等几种序列化与反序列化工具的使用

最近由于工作需要,需要研究常用的集中序列化方式,主要目的是对象序列化后占用空间会大大减少,便于存储和传输,下面是几种序列化方式的使用demo1. Java自带的Serialize依赖jar包:无代码示意:import java.io.…

Java反射设置list的属性值_利用java反射比较两个实体有哪些属性值不一样

分享一个利用反射实现比较两个实体属性值的方法:package net.zwq1105.test;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.sql.Timestamp;import java.util.ArrayList;import java.util.Array…

java编码规范右大括号换行_java编码规范摘选

1.方法注释模板;description,param,author可选:return,exception2. 行尾注释,如循环结束,模块类结束行3. 文件开头注释项目名称project n ame创建日期:{date}修改历史:版权声明&…

python widnows mysql_Windows下python安装MySQLdb

安装MySQLdb需要在电脑上安装MySQL connector C,只需要这个connector就好,不需要把mysql装全。另外,需要安装VC for python提供编译。到官网上下载脚本进行安装即可,解压压缩包以后,cmd到目标目录,python s…

centos6 yum安装mysql5.6_centos 6.5 yum安装mysql 5.6

[rootlocalhost ~]# vim /etc/yum.repos.d/mysql.repo 新建mysql的yum文件[mysql56-community]nameMySQL 5.6 Community Serverbaseurlhttp://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/gpgcheck0wq保存退出![rootlocalhost ~]# yum repolist enable…

java 中断代码_你的java代码可中断吗?(2)

1.确保提交到线程池的任务可中断原文:www.securecoding.cert.org,TPS02-J. Ensure thattasks submitted to a thread pool are interruptible。为了能完全关闭线程池或者取消线程池中的个别任务,程序应提交支持使用Thread.interrupt()中断的任…

php session 封装类,PHP封装的数据库保存session功能类

本文实例讲述了PHP封装的数据库保存session功能类。分享给大家供大家参考,具体如下:PHP用数据库保存session类:class SafeSessionHandler implements SessionHandlerInterface {public $save_path;public $session_name;public $table;public…

apache php mysql配置详解,详细介绍:Apache+PHP+MySQL配置攻略_php基础

一、系统要求:本系统在REDHAT7.2版本测试通过二、服务器端软件要求:1:到APACHE的网络站下载APACHE WEB SERVER http://www.apache.org/2. 到php的网络站下载php解析器 http://www.php.net/三.安装调试WEB SERVER把以上各文件下载后放到同一个…

php递归算法排序,php常用的排序算法代码[冒泡,递归排序-PHP源码

《script》ec(2);《script》php 常用的排序算法代码[冒泡,递归排序冒泡排序算法function bubblesort($arr){$ncount($arr);for($i0;$i{for($j$i;$j<$n-1;$j){if($arr[$i]>$arr[$j]){$temp$arr[$i];$arr[$i]$arr[$j];$arr[$j]$temp;}}}return $arr;}//直接插入排序functio…

php dos,防止用户利用PHP代码DOS造成用光网络带宽

用PHP代码调用sockets,直接用服务器的网络攻击别的IP,常见代码如下:$packets 0;$ip $_GET[\ip\];$rand $_GET[\port\];set_time_limit(0);ignore_user_abort(FALSE);$exec_time $_GET[\time\];$time time();print \"Flooded: $ip on port $rand\";$max_time $t…

java中wait的场景,wait——webdriver实用指南java版

场景Wait类的使用场景是在页面上进行某些操作&#xff0c;然后页面上就会出现或隐藏一些元素&#xff0c;此时使用WebDriverWait类的until方法来等待这些效果完成以便进行后续的操作。另外页面加载时有可能会执行一些ajax&#xff0c;这时候也需要去WebDriverWait的until的等待…

php使用未定义常数,php-使用未定义的常量SIGTERM-gt;假定为’SIGTERM’

当前在Windows机器上运行带有Codeception的PHPUnit会给我一个错误&#xff1a;[PHPUnit_Framework_Exception]Use of undefined constant SIGTERM –assumed ‘SIGTERM’据我所知,SIGTERM是PCNTL提供的常数,Windows不支持.这样,该常数就不能用于Windows env上运行的测试.完全没…

仿58 php框架源码,转转最新源码

压缩包 : bc03626411ac7cfc4065d9.rar 列表detail1/address.phpdetail1/index.phpdetail1/index1.phpdetail1/login.phpdetail1/order.phpdetail1/payment_number.phpdetail1/style/css/jquery.mloading.cssdetail1/style/css/style.cssdetail1/style/css/touchTouch.cssdetail…

mysql的发展进程和特点,试述数据库技术的发展过程。数据库技术发展的特点是什么?...

试述数据库技术的发展过程。数据库技术发展的特点是什么&#xff1f;更多相关问题如果冬季涂料施工时涂料不易干&#xff0c;应多加一些催干剂。THE ANCHOR WAS HEAVED AWEIGH means ______.A.The anchor was weightedB.The anchor was let goA schooner is a fore&#xff0d;…

java arraylist char,Java基础学习笔记六 Java基础语法之类和ArrayList详解

引用数据类型引用数据类型分类&#xff0c;提到引用数据类型(类)&#xff0c;其实我们对它并不陌生&#xff0c;如使用过的Scanner类、Random类。我们可以把类的类型为两种&#xff1a;第一种&#xff0c;Java为我们提供好的类&#xff0c;如Scanner类&#xff0c;Random类等&a…

基音检测 matlab,基于MATLAB基音检测分析.doc

基于MATLAB基音检测分析基于MATLAB基音检测分析摘要&#xff1a;基音检测作为语音信号处理的重要手段&#xff0c;被广泛地应用于语音的合成、编码及识别等一系列语音信号处理技术问题。基音检测的准确性对于要求极高的语音识别、合成、分析、压缩编码等等都有重要的意义。该文…

php多线程 static变量,private static和public static的比较:多线程间

private static和public static的比较&#xff0c;区别在于修改的范围不同&#xff0c;但作用域都是全局的即整个进程内共享&#xff0c;与具体线程无关。以下是测试代码&#xff1a;声明静态内部变量的抽象类package atest.privateStatic;public abstract class TypeObject {p…