これは d3.v3.js ファイル内の関数です( グラフライブラリD3.js ):
function d3_geo_areaRingStart() {
var λ00, φ00, λ0, cosφ0, sinφ0;
d3_geo_area.point = function(λ, φ) {
d3_geo_area.point = nextPoint;
λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4),
sinφ0 = Math.sin(φ);
};
function nextPoint(λ, φ) {
λ *= d3_radians;
φ = φ * d3_radians / 2 + π / 4;
var dλ = λ - λ0, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(dλ), v = k * Math.sin(dλ);
d3_geo_areaRingSum.add(Math.atan2(v, u));
λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;
}
d3_geo_area.lineEnd = function() {
nextPoint(λ00, φ00);
};
}
プログラマーが変数名としてπ、φ、λを使用していることに私は完全に驚いた。驚いたことに、これらの変数はメモ帳でも受け入れられました(つまり、ジャンク/認識されない文字にはなりませんでした)。
そのような変数を使用することは良い習慣ですか?それらも非常に直感的で検索可能ですが、少し不安です。
同僚がそのような変数名でコードを書いているのを見た場合は、そのような決定の根拠を彼らに尋ねますが、最終的には変更する必要があると思います。変数名はわかりやすいものにする必要がありますが、読み取り、書き込み、変更も簡単です。キーボードでπ
、λ
、またはφ
を入力する方法すら知りません。コードを作成するときに、エディターでシンボルをコピー/貼り付けする必要はありません。
一般に、シンボルが広く理解され、簡単に作成でき、最終的にその目的を説明するものでない限り、そのシンボルは使用しません。私は外国語、過度に大きな/高度な言葉も遠慮します。この場合のより良い解決策は、シンボルをその名前として書き出すことです:「pi」、「lambda」、および「phi」。
ギリシャ語のキーボードが標準的である環境(ギリシャなど)でコードが記述されている場合、これは受け入れられる可能性があります(文字には、コードを読んで保守する必要がある人々にとって数学的な意味があると想定されます)。さもなければ、ギリシャ文字を編集すると私見が非常に面倒になるので、記号が読者にある意味を持っている場合でも、私は一般にそれをお勧めしません。
それはあなたがいる環境に完全に依存しています。これらのシンボルはユニコードなので、ユニコードをサポートする開発環境が必要です。また、それらは特別なキーストロークまたはコピー貼り付けに依存しています。これは、Macがオプションキーを介してそのようなものを生成するためのサポートをビルトインしているため、Macで実行する方が簡単であることを意味します。 Windowsはそれを行うことができますが、各シンボルのさまざまなUnicode番号をすべて覚えておく必要があります。
Φはphiよりもわずかに少ないスペースしかとらないため、ここでの推論は縮小の1つであると思います。また、D3.jsを使用するブラウザーがかなり最新のものであることも保証します。