雖然預言技術說明指出:在java中引入下劃線的文字有益還是缺點?
在Java SE 7和以後,任何數目的下劃線字符(_)可以 位之間的任何位置出現在數值文字。例如,使用此功能 可以分隔文字數字組中的數字組,這可以提高代碼的可讀性。
example : float pi = 3.14_15F;
是相同
float pi = 3.1415F;
但它不能成爲混淆別人寫的代碼上工作的開發者? 也使用下劃線在編譯器或不是在編譯器上的任何開銷?
雖然預言技術說明指出:在java中引入下劃線的文字有益還是缺點?
在Java SE 7和以後,任何數目的下劃線字符(_)可以 位之間的任何位置出現在數值文字。例如,使用此功能 可以分隔文字數字組中的數字組,這可以提高代碼的可讀性。
example : float pi = 3.14_15F;
是相同
float pi = 3.1415F;
但它不能成爲混淆別人寫的代碼上工作的開發者? 也使用下劃線在編譯器或不是在編譯器上的任何開銷?
但是,對於開發人員使用其他人編寫的代碼的開發人員來說,這難道不會讓人感到困惑嗎?
只有開發人員不理解Java語言!這個構造已經被支持了足夠長的時間,以至於每個Java專業人員都應該認識到它......即使他們不在自己的代碼中使用它。另一方面,如果您的Java開發人員沒有時刻關注Java 7中的新事物,他們可能會(暫時)困惑不已。但真正的解決方案是教育你的開發人員。
另外下劃線的使用是否在編譯器上放置任何開銷?
開銷會很小,不可能測量。
+1同意沒有要求使用它。只有在你認爲數字更清晰的地方使用它。如果編譯器以10 MB/s的速率解析,添加'_'可以在編譯時增加大約100納秒。還有其他很多更重要的事情。例如不管你是使用製表符還是空格,或是使用'{'作爲一行嵌套語句。 –
這裏沒有性能問題。
使用下劃線唯一有意義的時間是非常大的整數或二進制整數。就像語言提供的幾乎任何語法自由一樣,人們可以自由地濫用它並編寫難以閱讀的代碼。我懷疑這個下劃線的東西會成爲一個問題,而不是自由地添加額外的空白是一個問題。
當你想使用它的最好的例子是二進制數,通常在每4位之間放置一個空格。 例如,比較:
int bitField = 0b110111011111;
int bitField2= 0b1101_1101_1111; //clearly more readable.
其他例子包括在Oracle's documentation of該功能賦予了信用卡號或社會保險。
編譯器開銷?在這裏和那裏忽略幾個角色並不會花費任何可衡量的東西。想想所有已被忽略的空白。 – Mat
它爲什麼會令人困惑?如果你認爲它令人困惑......不要使用它。 – codeMan
@Mat它是如何忽略whitspace的 – Prateek