亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

Java編程風(fēng)格與命名規(guī)范

時(shí)間:2024-08-07 19:15:29 java語言 我要投稿
  • 相關(guān)推薦

Java編程風(fēng)格與命名規(guī)范

  想要成為一個優(yōu)秀的程序員,首先要培養(yǎng)良好的編程習(xí)慣,下面內(nèi)容由小編為大家介紹Java編程風(fēng)格與命名規(guī)范,供大家參考!

  基本命名規(guī)范

  包命名

  包名按照域名的范圍從大到小逐步列出,恰好和Internet上的域名命名規(guī)則相反。

  由一組以“!边B接的標(biāo)識符構(gòu)成,通常第一個標(biāo)識符為符合網(wǎng)絡(luò)域名的兩個或者三個英文小寫字母。

  People TestPage XMLExample

  類,接口命名

  類的名字必須由大寫字母開頭而單詞中的其他字母均為小寫;如果類名稱由多個單詞組成,則每個單詞的首字母均應(yīng)為大寫例如TestPage;如果類名稱中包含單詞縮寫,則這個所寫詞的每個字母均應(yīng)大寫,如:XMLExample,還有一點(diǎn)命名技巧就是由于類是設(shè)計(jì)用來代表對象的,所以在命名類時(shí)應(yīng)盡量選擇名詞。

  People TestPage XMLExample

  方法名

  方法的名字的第一個單詞應(yīng)以小寫字母作為開頭,后面的單詞則用大寫字母開頭?梢詾閯釉~或動詞+名詞組合。

  設(shè)置/獲取某個值的Method,應(yīng)該遵循setV/getV規(guī)范

  返回長度的Method,應(yīng)該命名為length

  測試某個布爾值的Method,應(yīng)該命名為isV

  將對象轉(zhuǎn)換為某個特定類型的Mehod應(yīng)該命名為toF

  getDate(); length(); isReady(); toOracleFormat();

  變量名

  1.普通變量命名應(yīng)該采用首字母小寫,其他字母首字母大寫的方式。

  2.final static變量的名字應(yīng)該都大寫,并且指出完整含義。如果一個常量名稱由多個單詞組成,則應(yīng)該用下劃線來分割這些單詞如。

  NUM_DAYS_IN_WEEK MAX_VALU

  3. 如果需要對變量名進(jìn)行縮寫時(shí),一定要注意整個代碼中縮寫規(guī)則的一致性

  context=ctx message=msg

  4. 通過在結(jié)尾處放置一個量詞,就可創(chuàng)建更加統(tǒng)一的變量

  First(一組變量中的第一個) Last(一組變量中的最后一個) Next(一組變量中的下一個變量) Prev(一組變量中的上一個) Cur(一組變量中的當(dāng)前變量)

  5. 無論什么時(shí)候,均提倡應(yīng)用常量取代數(shù)字、固定字符串。也就是說,程序中除0,1以外,盡量不應(yīng)該出現(xiàn)其他數(shù)字。

  6. 索引變量:i、j、k等只作為小型循環(huán)的循環(huán)索引變量。

  7. 邏輯變量:避免用flag來命名狀態(tài)變量,用is來命名邏輯變量。

  if(isClosed){ dosomeworks; return; }

  數(shù)組

  總是使用以下方式定義數(shù)組:

  int[] arr = new int[10];

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

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

  集合

  數(shù)組或者容器推薦命名方式為名詞+s的方式,例如:

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

  泛型

  應(yīng)該盡量簡明扼要(最好是一個字母),以利于與普通的class或interface區(qū)分

  Container中的Element應(yīng)該用E表示;Map里的key用K表示,value用V;Type用T表示;異常用X表示

  如果需要接收多個Type類型的參數(shù),應(yīng)該用鄰接T的大寫字母——例如S——來依次表示,當(dāng)然也可以用T1, T2這樣的方式

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

  推薦的命名

  1.當(dāng)要區(qū)別接口和實(shí)現(xiàn)類的時(shí)候,可以在類的后面加上“Impl”。

  interface Container class ContainerImpl

  2.Exception類最好能用“Exception”做為類命名的結(jié)尾

  DataNotFoundException InvalidArgumentException

  3.抽象類最好能用“Abstract”做為類命名的開頭

  AbstractBeanDefinition AbstractBeanFactory

  4. Test類最好能用“Test”做為類命名的結(jié)尾

  ContainerTest

  5.簡稱與縮寫(不推薦使用)

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

  除非是在循環(huán)中,否則一般不推薦使用單個字母作為變量名,不過也有例外,即約定俗成的單個字母

  b代表byte c代表char d代表double e代表Exception f代表float i, j, k代表整數(shù) l代表long o代表Object s代表String v代表某些類型的特定值

  代碼風(fēng)格

  花括號

  花括號統(tǒng)一采用以下格式:

  if(bool experssion){ dosomework; }

  除非花括號中為空,不然任何情況下不能省略花括號,并且花括號必須換行,例如:

  if(i==0){ return; } while(true) {}

  以下寫法禁止出現(xiàn):

  禁止 if(i != 0) return; 禁止 if(i !=0) {return;}

  括號

  括號的前,后一個字符不需要空格,例如:

  Person p = new Person(“Jack”, 17);

  空格

  逗號之后緊跟一個空格。

  Person p = new Person(“Jack”, 16, “China”);

  2. 二元操作符前后跟空格。

  int i = a + b – c * d;

  3. 一元操作符不需要空格,for語句分號后有空格。

  for(int i = 0; I < 10; i++){ dosomework; }

  4. 括號前后不需要空格

  

  類的定義結(jié)構(gòu)按照順序?yàn)椋?/p>

  1) 常量

  2) 成員變量

  3) 構(gòu)造函數(shù)

  4) 成員函數(shù)

  5) get和set方法

  各個部分之間留出一個空行。

  例如:

  規(guī)范類模板:

  class Person{ private final static int MAX_AGE = 100; private String firstname = “Jack”; public Person(){} public Person(String firstname){ this.firstname = firstname; } public void doExercise(){ dosomeworks; run(); } private void run(){ dosomeworks; } public getFirstname(){ return firstname; } public setFirstname(String firstname){ this.firstname = firstname; } }

  2.構(gòu)造函數(shù)

  1) 參數(shù)為空的構(gòu)造函數(shù)出現(xiàn)在最上方

  2) 有調(diào)用關(guān)系的構(gòu)造函數(shù)相鄰

  3) 參數(shù)盡量由少到多從上至下排序

  3.使用成員變量

  在類的方法內(nèi)引用成員變量了命名沖突以外,不使用this。非特殊情況在類的方法內(nèi)都不使用get和set方法存取成員變量。

  4.方法

  有調(diào)用關(guān)系的方法盡量放在相鄰的位置,public和private方法可以交叉放置。

  5.get和set方法,所有需要公開的成員變量都要符合良好的javabean規(guī)范,提供get和set方法,盡量使用IDE工具自動生成。

【Java編程風(fēng)格與命名規(guī)范】相關(guān)文章:

java命名如何規(guī)范06-20

Java命名規(guī)范介紹11-03

java編程規(guī)范介紹07-10

java編程基礎(chǔ)07-26

java教程之Java編程基礎(chǔ)09-12

java的命名有什么講究嗎08-19

Java語言的編程特點(diǎn)03-18

Java編程學(xué)習(xí)示例07-31

java面向接口編程08-01

java并發(fā)編程參考10-30