對(duì)于剩余的非ASCII字符,是使用實(shí)際的Unicode字符(比如∞),還是使用等價(jià)的Unicode轉(zhuǎn)義符(比如\u221e),取決于哪個(gè)能讓代碼更易于閱讀和理解。
Tip: 在使用Unicode轉(zhuǎn)義符或是一些實(shí)際的Unicode字符時(shí),建議做些注釋給出解釋,這有助于別人閱讀和理解。
例如:
String unitAbbrev = "μs"; | 贊,即使沒(méi)有注釋也非常清晰
String unitAbbrev = "\u03bcs"; // "μs" | 允許,但沒(méi)有理由要這樣做
String unitAbbrev = "\u03bcs"; // Greek letter mu, "s" | 允許,但這樣做顯得笨拙還容易出錯(cuò)
String unitAbbrev = "\u03bcs"; | 很糟,讀者根本看不出這是什么
return '\ufeff' + content; // byte order mark | Good,對(duì)于非打印字符,使用轉(zhuǎn)義,并在必要時(shí)寫上注釋
Tip: 永遠(yuǎn)不要由于害怕某些程序可能無(wú)法正確處理非ASCII字符而讓你的代碼可讀性變差。當(dāng)程序無(wú)法正確處理非ASCII字符時(shí),它自然無(wú)法正確運(yùn)行, 你就會(huì)去fix這些問(wèn)題的了。(言下之意就是大膽去用非ASCII字符,如果真的有需要的話)