java用代碼寫姓名 “Java”如何定義一個對象?
“Java”如何定義一個對象?全部展開Java類對象的定義、生成和使用1.分析一個簡單應(yīng)用程序的結(jié)構(gòu)公共類MyFirstProgram {公共靜態(tài)void main(String []args) {系
“Java”如何定義一個對象?
全部展開
Java類對象的定義、生成和使用
1.分析一個簡單應(yīng)用程序的結(jié)構(gòu)
公共類MyFirstProgram {
公共靜態(tài)void main(String []args) {
系統(tǒng)。出去。println(
java分號?
"在Java中,一些字符被用作分隔符。最常用的分隔符是分號(),用于分隔句子。以下是常用的分隔符。符號()的括號用于在定義和調(diào)用方法時包含參數(shù)表。在由控制語句或強制類型轉(zhuǎn)換組成的表達式中,用來表示執(zhí)行或計算的優(yōu)先級。大括號用于包含自動初始化的數(shù)組的值。它也用于定義程序塊。類、方法和局部作用域[]中的括號用于聲明數(shù)組的類型,也用于引用數(shù)組的值。分號用于終止語句。在變量聲明中,它們用于分隔變量表中的變量。逗號用于控制語句,以連接括號中的語句。句點(也稱為點)用于將軟件包的名稱與其子軟件包或類分開。它還用于將引用變量與變量或方法分開。 "PS:唐 不要糾結(jié)于這些小問題,看看別人就知道了。;的代碼,自己多寫點。
為什么阿里巴巴Java開發(fā)手冊中不允許魔法值出現(xiàn)在代碼中?
在讀《阿里巴巴Java開發(fā)手冊》的時候,我發(fā)現(xiàn)了一個關(guān)于常數(shù)定義的規(guī)定,內(nèi)容如下:
圖中反例是緩存數(shù)據(jù),用幻值加鏈接id形成鍵,可能導(dǎo)致其他開發(fā)者復(fù)制粘貼少_,很難檢測,因為讀緩存不存在,可能在數(shù)據(jù)庫中讀取,很難檢測。
如果在生產(chǎn)環(huán)境中,大量請求進來,緩存全部無效,直接請求數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)庫連接過多,查詢效率低下,那么代碼中似乎真的應(yīng)該避免使用幻值。
此外,類似的問題在《《Clean Code》與《重構(gòu)》》等書中也有提及。代碼中有原始數(shù)字通常是一種不好的現(xiàn)象,它應(yīng)該被命名良好的常量類隱藏起來。
靜態(tài)常數(shù)取代幻值
比如這個例子:
如果同事們不。;我不了解這個行業(yè),在閱讀這段代碼時,我可能會想,75是什么鬼東西?為什么和這個數(shù)字相比,背后還有一個秘密?可能只有當時的開發(fā)人員記得,導(dǎo)致代碼可讀性和可維護性差。
如果聲明一個常量來代替幻值,可能會大大增加代碼的可讀性和可維護性。
還有一些神奇的表情,比如:
例如,此表達式表示狀態(tài)正常,項目處于活動狀態(tài)。您可以定義:
這是否提高了可讀性?你一眼就能看出這段代碼的邏輯。
枚舉類替換幻值
另一種消除幻值的方法是使用枚舉類。讓 讓我們舉個例子:
上面的代碼是根據(jù)事件id執(zhí)行相應(yīng)的事件。如果事件很少,可以勉強記住每個eventId對應(yīng)的含義,但是隨著事件Id的增加,很可能會發(fā)生,新員工混淆事件id,導(dǎo)致錯誤事件的執(zhí)行,出現(xiàn)bug。
然后我們可以使用枚舉類來表示相應(yīng)的事件:
修改后的代碼如下:
可讀性是否大幅提升?唐 不要急于看到這樣的神奇值是否出現(xiàn)在您的代碼中,如果是,請快速轉(zhuǎn)換它們。
還有,如果你需要在不同的地方引用同一個數(shù)字,幻數(shù)會很麻煩你,因為一旦這些數(shù)字發(fā)生變化,你就必須找到程序中所有的幻數(shù),并全部修改,太費時費力了。
其實不僅僅是Java不應(yīng)該在代碼中使用幻值,其他語言也是如此。
總結(jié)主要介紹代碼中為什么不允許出現(xiàn)幻值,以及如何去掉代碼中已有的幻值。
代碼的可讀性仍然很重要。你當然不知道。;不希望別人接手你的代碼時罵這個數(shù)字的意義。這個代碼寫的像巴巴。