ユニコードを考えるとき、中国語やロシア語の文字を考えると、インターネットで見たロシア語で書かれたソースコードを思い浮かべ、使用できませんでした(ロシア語を知らない限り)。
しかし、Unicodeが間違った方法で使用される可能性があるとしても、それがソースコード自体で悪いというわけではありません。
unicodeを使用して特定のフィールドのコードを記述する場合、コードを短くして読みやすくすることができます。の代わりに:
const numeric Pi = 3.1415926535897932384626433832795;
numeric firstAlpha = deltaY / deltaX + Pi;
numeric secondAlpha = this.Compute(firstAlpha);
Assert.Equals(math.Infinity, secondAlpha);
あなたは書ける:
const numeric π = 3.1415926535897932384626433832795;
numeric α₁ = Δy / Δx + π;
numeric α₂ = this.Compute(α₁);
Assert.Equals(math.∞, α₂);
これは平均的な開発者には読みにくいかもしれませんが、毎日数学記号を使用する人には読みやすいです。
または、次の代わりに、一眼レフ写真に関連するアプリケーションを実行する場合:
int aperture = currentLens.GetMaximumAperture();
Assert.AreEqual(this.Aperture1_8, aperture);
開口部を記号ƒで置き換えることができますƒ/1.8
。
int ƒ = currentLens.GetMaximumƒ();
Assert.AreEqual(this.ƒ1¸8, ƒ);
これは不便かもしれません:一般的なC#コードを入力するときは、次のように書くことを好みます。
var productPrices = this.Products.Select(c => c.Price);
double average = productPrices.Average()
double sum = this.ProductPrices.Sum();
のではなく:
var productPrices = this.Products.Select(c => c.Price);
double average = productPrices.x̅()
double sum = productPrices.Σ();
最初のケースでは、IntelliSenseを使用すると、ほとんど入力せずに、特にマウスを使用せずにコード全体を書くことができます。自動補完リストでそれらを検索します。
これは言われていますが、それはいくつかのケースでまだ有用です。currentLens.GetMaximumƒ();
前の例のIntelliSenseに依存することができ、入力が簡単でGetMaximumAperture
、短くて読みやすいです。また、シンボルが多数ある特定のドメインでは、キーボードショートカットを使用すると、ソースコードでの同等のリテラルよりも迅速にシンボルを入力できます。
ところで、同じことがコメントにも当てはまります。誰もが中国語のコメントでいっぱいのコードを読みたがりません(あなた自身が中国語をよく知っていない限り)。しかし、一部のプログラミング言語では、Unicodeシンボルが依然として有用な場合があります。一例は脚注¹です。
¹コメントの書き方に関する厳格なスタイルルールのセットがあるC#コードの脚注は確かに楽しみません。一方、PHPでは、説明することがたくさんありますが、それらのことはあまり重要ではないのであれば、それらをファイルの最後に置いて、メソッドのPHPDocに脚注を作成してください。