一篇文章帶你入門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的更多內容!