一篇文章帶你入門Java之編程規范

引言

♀ 小AD:小明哥,之前你教我的Helloworld實例我寫完瞭,超級簡單呢,我一下子就搞定瞭
♂ 明世隱:是嗎,那不錯哦。
♀ 小AD:我還舉一反三、自由發揮瞭一波
♂ 明世隱:這波怎麼說?
♀ 小AD:怎麼說?我說我在第5層,你信不
♂ 明世隱:我信,你舉的什麼、反的什麼?
♀ 小AD:我寫瞭個小魯班連招類,可以順序釋放連招,好玩。
♂ 明世隱:挖槽,你這波是要在大氣層嗎?上頭瞭吧你。
♀ 小AD:明哥別這樣說,我就覺得好玩
♂ 明世隱:好,我覺得你腦子轉的挺快,來給明哥看看。
♀ 小AD:好的,代碼給你看看

package learnJava;
public class 魯班連招類 {
	public static void main(String[] args) {
		System.out.println("發現敵人");
		System.out.println("釋放3技能");System.out.println("平A1");System.out.println("平A2");
System.out.println("平A3");System.out.println("平A4");
			System.out.println("釋放1技能");
			System.out.println("平A1");System.out.println("平A2");System.out.println("平A3");System.out.println("平A4");
System.out.println("釋放2技能");System.out.println("平A1");System.out.println("平A2");
			System.out.println("平A3");System.out.println("平A4");
			System.out.println("敵人已經被消滅");}}

運行代碼

在這裡插入圖片描述

♀ 小AD:明哥,咋樣?我這連招,KO敵人,刺客突臉我可以把2技能先放
♂ 明世隱:很(yao)好(lao)耶(ming)
♀ 小AD:那可不!我覺得我可以統治下路瞭。
♂ 明世隱:你的為啥放技能後要平A4下。
♀ 小AD:因為這個平A 4下我用來代表的是小魯班的被動掃射效果,表示攻擊速度很快。
♂ 明世隱:嗯嗯,真不錯,有編程的天賦,看來我選對瞭徒弟哈,但是,還是讓我來說說你的問題。
♀ 小AD:???
♂ 明世隱:我說讓我來說說你的問題。
♀ 小AD:有什麼問題,我這連招不好嗎?你上次教我的,你是不是藏瞭什麼?
♂ 明世隱:你耗子未汁吧你!
♀ 小AD:明哥,直接說吧,別這樣
♂ 明世隱:我說你代碼寫的亂七八糟。
♀ 小AD:沒問題啊,你看我不是運行給你看瞭嗎?結果犀利
♂ 明世隱:確實犀利,我說的是代碼很亂。
♀ 小AD:我不懂你的意思
♂ 明世隱:就是不規范。
♀ 小AD:哦,我不知道哦,那你給我講講唄
♂ 明世隱:來,下次寫這樣的代碼,別在朋友圈發說你認識我,我老臉往哪裡放。
♀ 小AD:(大寫的尷尬)
在這裡插入圖片描述

命名規則

類名首字母應該大寫。字段、方法以及對象(句柄)的首字母應小寫。對於所有標識符,其中包含的所有單詞都應緊靠在一起,而且大寫中間單詞的首字母。例如:

ThisIsAClassName

thisIsMethodOrFieldName

命名規則必須遵循以下規則:

1)、名稱隻能由字母、數字、下劃線、$符號組成

2)、命名時不能以數字開頭

3)、在命名是絕對不能出現Java關鍵字。

4)、見名識意—看到名字就知道是什麼。

當然這些都不是硬性規定,你可以按照自己的想法去命名。但那樣的代碼可讀性很差。

public class 魯班連招類 {

♀ 小AD:你是說我這個類的命名不滿足上面的第一條是嗎
♂ 明世隱:可以這麼說。
♀ 小AD:那eclipse為什麼沒有報錯。
♂ 明世隱:其實是可以用中文命名的,類名和方法名用中文其實也是可以成功運行的,因為隻要是Unicode字符,就符合規范,不過這裡的規范指的是標識符規范,代碼規范是不提倡用中文的。
♀ 小AD:這樣啊,那我把類名改成lz
♂ 明世隱:你這是什麼意思?
♀ 小AD:lz就是連招的意思啊
♂ 明世隱:可是我看不懂誒!
♀ 小AD:那改lianzhao
♂ 明世隱:類開頭用大寫,然後采用駝峰命名。
♀ 小AD:那改成LianZhao就可以撒
♂ 明世隱:你為什麼不用英文來命名,用拼音感覺不舒服。
♀ 小AD:那連招的英語是什麼?
♂ 明世隱:你問我幹嘛?我不會
♀ 小AD:哈哈,明哥你都不會啊,我也不會。
♂ 明世隱:那說好瞭,就這樣命名瞭,嘿嘿。

代碼排版

1.程序塊要采用縮進風格編寫,縮進的空格數為4個。

2.在函數體的開始、類和接口的定義、以及if、for、do、while、switch、case語句中的程序都要采用如上的縮進方式。

3.較長的語句、表達式或參數(>80字符)要分成多行書寫,長表達式要在低優先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進行適當的縮進,使排版整齊,語句可讀。

4.if, for, do, while, case, switch, default 等語句自占一行,且if, for, do, while等語句的執行語句無論多少都要加括號{}。

5.相對獨立的程序塊之間、變量說明之後必須加空行。

6.出現分號盡量換行。

♀ 小AD:哥,那麼多那麼麻煩,我都看不明白.
♂ 明世隱:其實也不用刻意去記,我幫你把代碼編輯一下你就很容易看明白。
♀ 小AD:好

針對你的代碼分4步

1.代碼縮進對齊

在這裡插入圖片描述

修改後:

package learnJava;
public class LianZhao {
	public static void main(String[] args) {
		System.out.println("發現敵人");
		System.out.println("釋放3技能");System.out.println("平A1");System.out.println("平A2");
		System.out.println("平A3");System.out.println("平A4");
		System.out.println("釋放1技能");
		System.out.println("平A1");System.out.println("平A2");System.out.println("平A3");System.out.println("平A4");
		System.out.println("釋放2技能");System.out.println("平A1");System.out.println("平A2");
		System.out.println("平A3");System.out.println("平A4");
		System.out.println("敵人已經被消滅");}}

2.遇到分號換行

在這裡插入圖片描述

修改後:

package learnJava;
public class LianZhao {
	public static void main(String[] args) {
		System.out.println("發現敵人");
		System.out.println("釋放3技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("釋放1技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("釋放2技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("敵人已經被消滅");}}

3.大括號、括號等成對出現

在這裡插入圖片描述

修改後:

package learnJava;
public class LianZhao {
	public static void main(String[] args) {
		System.out.println("發現敵人");
		System.out.println("釋放3技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("釋放1技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("釋放2技能");
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("敵人已經被消滅");
	}
}

4.加上註釋

♀ 小AD:明哥什麼是註釋啊
♂ 明世隱:註釋就是說明
♀ 小AD:說明什麼?
♂ 明世隱:說明這個類是用來做什麼的,這個方法是什麼功能等。
♀ 小AD:好像明白瞭一點
♂ 明世隱:給你舉個例子,你就完全清楚瞭。

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

♂ 明世隱:上面的圖知道什麼意思吧
♀ 小AD:當然啊,就是技能說明唄
♂ 明世隱:對啊 ,那你如果不熟悉技能的話,你不是可以看看這個技能幹啥用的,有多少傷害、冷卻時間多少、藍耗多少嗎?
♀ 小AD:是的,沒有這個說明,除非對這個英雄比較熟悉,否則就不知道瞭。
♂ 明世隱:那你拿到一段代碼的時候,如果沒有說明,你可能搞不清楚這個代碼是幹嘛的吧。
♀ 小AD:嗯,但現在這個代碼我知道 啊
♂ 明世隱:目前你當然是知道的,因為第一這個代碼簡單,容易看明白,如果邏輯復雜的呢?第二記憶都是一段時間的,如果過些時候你再看到某段代碼,你也想不起來是幹嘛的瞭,必須一行行的去看代碼,然後你才能知道,這樣不就很麻煩瞭嗎?
♀ 小AD:好像是這個道理。
♂ 明世隱:所以說就跟這個技能描述一樣的,我們也可以改代碼加上說明,稱之為註釋。
♀ 小AD:原來是這個意思啊,那註釋應該怎麼加?
♂ 明世隱:那我們來加一下吧。

Java註釋

註釋的作用

很多java新手在敲代碼的時候都不會在意註釋這個東西,但其實,註釋在Java編程中也是必不可少的。

在學習過程中,我們應該也發現要敲的代碼越來越多,越來越繁瑣,而且做編程本來就很需要思維邏輯,在碰到需要使用大量代碼的時候,就需要在每個關鍵點做好註釋,讓我們明白這段代碼的含義,同時,如果要請教別人的話,別人看你的代碼更加方便。

而在以後的工作當中,肯定會有團隊協作的,這種時候,也是非常需要註釋的,不然在後期合並的時候是會非常麻煩的。

註釋的3種類型

1.單行註釋
//內容1
//內容2

2.多行註釋
/*
內容1
內容2
*/

3.文檔註釋
/**
*內容1
*內容2
*/

給代碼加上單行註釋

public class LianZhao {
	//主函數
	public static void main(String[] args) {
		System.out.println("發現敵人");
		//釋放3技能
		System.out.println("釋放3技能");
		//掃射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		//釋放1技能
		System.out.println("釋放1技能");
		//掃射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		//釋放2技能
		System.out.println("釋放2技能");
		//掃射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("敵人已經被消滅");
	}
}

♀ 小AD:明哥,有句話我想說但不敢說?
♂ 明世隱:說吧,不噴你
♀ 小AD:我感覺你這個註釋沒什麼用,你不加註釋,我也知道這個寫的是放技能、平A啊,你現在加這個註釋也是多餘的。
♂ 明世隱:。。。,是這樣的,因為你這個代碼是最基礎的,就一句打印輸出,並且輸出的內容也寫的很清楚,所以你感覺沒必要,但在開發中,代碼的邏輯就復雜的多,你不加註釋別人可能就看不明白你 代碼、或者說要花額外的時間去理解你的代碼;甚至於你自己再次回過頭來看的時候,沒有註釋,都要重新去閱讀代碼,才知道是幹嘛的。
♀ 小AD:哦,這樣啊,那我明白瞭

給代碼加上多行註釋

在這裡插入圖片描述

給代碼加上文檔註釋

在這裡插入圖片描述

註釋後完整的類代碼

package learnJava;
/**
 * 模擬魯班連招的類
 * @author 小AD
 * @date 2021-07-04
 */
public class LianZhao {
	/*
	 * 主函數
	 * 此函數模擬瞭魯班的連招
	 * 3技能+掃射+1技能+掃射+2技能+掃射
	 */
	public static void main(String[] args) {
		System.out.println("發現敵人");
		//釋放3技能
		System.out.println("釋放3技能");
		//掃射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		//釋放1技能
		System.out.println("釋放1技能");
		//掃射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		//釋放2技能
		System.out.println("釋放2技能");
		//掃射
		System.out.println("平A1");
		System.out.println("平A2");
		System.out.println("平A3");
		System.out.println("平A4");
		System.out.println("敵人已經被消滅");
	}
}

♂ 明世隱:你看代碼是不是比你開始的要好看、工整的多。
♀ 小AD:哇明哥,這樣別人看到代碼就知道是我寫的呀。
♂ 明世隱:對啊 ,就知道你的大名瞭。
♀ 小AD:哇註釋果然很有用。
♂ 明世隱:別光知道可以寫上你的大名哈,其他的也很重要。
♀ 小AD:不會不會,我一下就明白怎麼用這個註釋瞭,謝謝明哥!

除瞭上述內容還要註意:如何編寫良好的Java代碼

♀ 小AD:哇明哥,我覺得我好像學Java很簡單呢
♂ 明世隱:對啊,Java本來就不難,關鍵看你自己願意學不咯。
♀ 小AD:我當然願意學,我就感覺跟明哥上分一樣簡單,緊緊跟著明哥就行。
♂ 明世隱:知道就好,要的就是上分如喝水、學Java如張飛吃豆芽。
♀ 小AD:哥你說的什麼?也不押韻啊。
♂ 明世隱:你重點是在這嗎你?快打開遊戲,先上幾星再說,你連招不是很溜嗎。
♀ 小AD:來,當然瞭,我邊學Java又邊學連招,今天整爆他們。

總結

本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: