项目开发中的编码规范

1.规范存在的意义:

好的编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护;

好的编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的代码;好的编码规范可以最大限度的提高团队开发的合作效率;

长期的规范性编码还可以让开发人员养成好的编码习惯,甚至锻炼出更加严谨的思维;


2.命名规范:

尽量使用完整的英文描述符

采用适用于相关领域的术语

采用大小写混合使名字可读

尽量少用缩写,但如果用了,必须符合整个工程中的统一定义

避免使用长的名字(小于 15 个字母为正常选择)

避免使用类似的名字,或者仅仅是大小写不同的名字

避免使用下划线(除静态常量等)

所有Pojo类与数据库表名对应

所有Dao接口类继承自BaseDao,以I打头,以pojo类名称+Dao结束

所有Daoimpl实现类以pojo类名称+DaoImpl结束

所有业务接口类以I打头,以业务名称+Service结束

所有业务实现类:业务名称+Service;


3.标识符类型说明:

包( Package )的命名:

采用完整的英文描述符,都是由一个小写单词组成


类( Class )的命名:

类名应该是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量保证类名简洁而富于描述。使用完整单词,避免缩写词 ( 除非工程内有统一缩写规范或该缩写词被更广泛使用

接口( Interface )的命名:

基本与 Class 的命名规范类似。在满足 Classd 命名规则的基础之上,保证开头第一个字母为”I”,便于与普通的 Class区别开

枚举( Enum )的命名

异常( Exception )的命名

方法( Method )的命名

在service中,操作数据库更新、写入、删除,方法名以update、save、edit、add、move、delet、remove打头,保证spring事务托管的有效;对数据的查询采用 list、get、find打头;

一般方法遵循:

方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。方法名尽可能的描述出该方法的动作行为。返回类型为 Boolean 值的方法一般由“ is ”或“ has ”来开头例如:返回类型为 Boolean 值:用“ is ”或“ has ”来开头

得到某数据: get+ 数据描述名词复数 + 数据类型;

得到所有数据: get+All+ 数据描述名词复数 + 数据类型;

通过 XXX 得到 / 查询某数据: get/query+ 数据描述名词复数 + 数据类型 +By+ 条件;

添加某数据: save/add+ 数据描述名词 ()

更新某数据: save/update+ 数据描述名词;

删除某数据: delete/remove+ 数据描述名词;

参数( Param )的命名:

第一个单词的首字母小写,其后单词的首字母大写。参数量名不允许以下划线或美元符号开头,虽然这在语法上是允许的。参数名应简短且富于描述。

常量字段( Constants )的命名:

静态常量字段( static final )全部采用大写字母,单词之间用下划线分隔;


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

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

相关文章

mysql 5.6.36安装图解_2017年12月聚合文章--实战-Mysql5.6.36脚本编译安装及初始化 | 码友网...

概述本文为centos7.3自动化编译安装mysql5.3.6的脚本及后续初始化操作,话不多少,直接上脚本。安装脚本install.py如下:#codingutf-8#!/usr/bin/pythonimport os,commands#定义变量install_dir /data/mysqldata_dir /data/mysql/datapackage…

python之路2.0_Python之路【第二十一篇】:JS基础

1.2 ECMAScript尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:● 核心(ECMAScript)● 文档对象…

solr4 mysql自动更新_(solr系列:五) solr定时实时重建索引和增量更新

将mysql中的数据导入到了solr中之后,如果数据库中的数据有变动,solr中还是第一次导入的旧的数据,那该如何是好呢?该如何实现mysql数据库中的数据定时同步到solr中呢?下面将做详细的介绍。准备工作要做好:1、…

mysql pydev_pydev-python 链接mysql数据库(mac系统)

在mac os上安装MySQLdb,遇到了非常多问题,总结一下:首先。假设用sudo easy_install mysql-python命令安装,基本上不会成功的,原因有两个:一是找不到mysql_config位置,二是如今基本上安装的是64位…

MySQL多个线程同时写数据_多个线程可以同时将数据写入文件吗?

同步声明可以做到这一点。尝试下面的代码,我在类似的情况下使用。package hrblib;import java.io.*;public class FileOp {static int nStatsCount 0;static public String getContents(String sFileName) {try {BufferedReader oReader new BufferedReader(new F…

Java在Linux下创建文件,文件夹,删除,拷贝文件的命令

1.创建,删除文件夹,复制文件夹 mkdir,rmdir如:mkdir -p dir1/dir2 //-p表示递归创建文件夹 cp -r /tmp/a /root/a //拷贝不强制覆盖cp -rf /tmp/a /root/a //拷贝强制覆盖 2.创建,删除文件 vi,touch都可以创建文件。如:vi fileNametouch f…

python 拼多多_拼多多现重大BUG被“薅羊毛”,教你如何用Python简单褥羊毛

import timefrom urllib.parse import parse_qsimport requestsfrom bs4 import BeautifulSoupfrom selenium import webdriverfrom selenium.common.exceptions import *from selenium.webdriver.support.wait import WebDriverWait# 额外抽取的授权模块from utils import aut…

上海交通大学python期末考试样题加解析_上海交通大学python期末考试样题加解析...

一、选择题: 将唯一正确的选项写在题前括号中.每题2分.【】(1) 本课程的目标定位是什么?[A] 学习Python语言[B] 学习计算机的工作原理[C] 学习各种算法[D] 学习用计算机解决问题【】(2) 下列哪个标识符是合法的?[A] var-name [B] !#$% [C] _100 [D] elif【】(3) 执行下列语句…

mysql 安装测试ok_tpcc-mysql安装测试与使用的实例教程

1:下载tpcc-mysql的压缩包,从下面的网站进行下载也可直接从叶总博客直接下载:我这边使用的就是后者。2:安装tpcc-mysql[rootmxqmongodb2 tpccmysql]# gunzip tpcc-mysql-src.tgz[rootmxqmongodb2 tpccmysql]# tar xf tpcc-mysql-s…

python多线程写同一文件_Python多线程写文件实例

# -*- coding: utf-8 -*-import threading多线程生成日志工具__author ["yangfei" ]#该方法主要用于写入300行WARN日志def writeWarnLog(file):count0;while count<300:try:file.write(2012-11-28 22:51:01|zookeeper|WARN|m1|172.17.1.15\n)count1except Except…

Tomcat6.0.37,tomcat6.0.37,下访问Web项目,jsp项目不需要输入项目名称和端口号的配置方法...

1.不需要数据项目名称就可以访问项目的配置方法如下&#xff1a; 首先到你的Tomcat下的conf文件夹下找到server.xml文件&#xff0c;打开后修改为&#xff1a; <Host name"localhost" appBase"webapps"unpackWARs"true" autoDeploy"tru…

java合并list_java合并list方法代码实例

这篇文章主要介绍了java合并list方法代码实例,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口&#xff0c;所以List接口拥有Collec…

java math 函数_Java中Math类常用函数总结

Java中比较常用的几个数学公式的总结&#xff1a;//取整&#xff0c;返回小于目标函数的最大整数,如下将会返回-2Math.floor(-1.8)&#xff1b;//取整&#xff0c;返回发育目标数的最小整数Math.ceil()//四舍五入取整Math.round()//计算平方根Math.sqrt()//计算立方根Math.cbrt…

java asc码_Java中ASC码与字符互相转化

package com.ljq.test;/*** Java中ASC码与字符互相转化** author jiqinlin**/public class ASCTest {private static int ascNum;private static char strChar;public static void main(String[] args) {System.out.println(getAsc("a"));System.out.println(backcha…

java上传png_java上传png图片出现红色背景

java图片上传出现红色背景java图片服务器上传图片都很正常&#xff0c;唯独上传png图片时&#xff0c;png图片变成红色背景原因是读取上传数据时用的是ImageIO.read(inputstream)方法public static BufferedImage getImages(byte[] data) throws IOException {ByteArrayInputSt…

java 引用队列_Java中管理资源的引用队列相关原理解析

当对象改变其可达性状态时&#xff0c;对该对象的引用就可能会被置于引用队列(reference queue)中。这些队列被垃圾回收器用来与我们的代码沟通有关对象可达性变化的情况。这些队列是探测可达性变化的最佳方式&#xff0c;尽管我们也可以通过检查get方法的返回值是不是null来探…

Tomcat 替换项目图标

1.首先制作一个32*32像素的图标&#xff0c;命名为favicon.ico这里名称必须是和Tomcat的webapps下的ROOT下的一样。 2.把制作好的图标放到你要部署的Web项目的images目录下&#xff0c;如果你的Web项目有过滤器等&#xff0c;要给后缀名为.ico的图标放行。 3.最后你就可以在你需…

hp 导出日志 远程管理卡_惠普服务器远程管理卡安装详解

可以远程管理服务器。带惠普基于Web的网络资源管理和性能监视工具HP Toptools惠普远程管理卡的主要功能是可以实现对服务器的远程监控&#xff0c;其中包括察看日志、远程诊断、远程开/关机、重启等等。基于惠普远程管理卡的重要功能&#xff0c;本文将着重介绍惠普远程管理卡的…

java 错误登陆次数_纯java代码实现登陆次数验证,登陆错误5次之后锁定30分钟

本方法因为是根据思路纯手写&#xff0c;代码可以再简化&#xff0c;功能尝试没问题&#xff0c;最主要就是在登陆验证中的逻辑&#xff0c;checkLogin()方法是登录前的验证&#xff0c;而真正的登陆方式采用的是Shiro&#xff0c;若不是采用Shiro登陆&#xff0c;将该逻辑采用…

java 监听器 分类_java过滤器和监听器详解 分类: 学习专区

过滤器1、Filter工作原理(执行流程)当客户端发出Web资源的请求时&#xff0c;Web服务器根据应用程序配置文件设置的过滤规则进行检查&#xff0c;若客户请求满足过滤规则&#xff0c;则对客户请求&#xff0f;响应进行拦截&#xff0c;对请求头和请求数据进行检查或改动&#x…