非ASCII文字
残りの非ASCII文字については ソースコードを読むことや理解することが簡単になるかどうかのみを基準にして実際のUnicode文字(例:∞)あるいは同等のUnicodeエスケープ(例: \u221e)を使うかどうかの判断を行います。
Tip: Unicodeエスケープの場合、実際にUnicode文字が使われている時でも、説明のコメントがあるとわかりやすいです。
例 | 説明 |
---|---|
String unitAbbrev = "μs"; | 最良。コメントなしでも完全で明確です。 |
String unitAbbrev = "\u03bcs"; // "μs" | 許容されます。しかしこのように書く理由はありません。 |
String unitAbbrev = "\u03bcs"; // ギリシャ文字ミューと "s" | 許容されます。しかし奇妙で間違えやすい。 |
String unitAbbrev = "\u03bcs"; | NG。読み手はこれが何なのか分かりません。 |
return '\ufeff' + content; // バイトオーダーマーク | 良い。表示されない文字にはエスケープを使い必要ならコメントします。 |
Tip: ただ何かのプログラムが非ASCII文字を正しく処理しないという危惧だけでコードを読みにくくしてはいけません。もしそのような事が起こる場合はそのプログラムが壊れているのであってそちらが修正されるべきです。