項目開發中的編碼規范

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.pswp.cn/news/443609.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443609.shtml
英文地址,請注明出處:http://en.pswp.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…