アカウント名:
パスワード:
変数名やら関数名に、cmとかkmとかkmphとかmpsとか単位を入れておくと単位換算ミスを防ぐことができる
本来のハンガリアン記法ですね。
昔のオブジェクト指向教はこういう布教をやってたよね。実際にやってみると、ほぼ自己満足の世界。(作業コストに比べて外部的利益はわずか)
日本国内だけ対象にしてると恩恵があまりないけど、海外まで展開しようと思うと必須になってきますね
あまり聞いたことが無いのだけど、メジャーなOSSとかで実例があれば教えて頂けますか?(できれば複数)
ヤード・ポンド法対応?そんなのSI単位系で書いておいて、出力時に単位変換かければいいのでは。もしかして誤差なしで整数インチとか扱いたいの?
SI単位系でも接頭辞どうするかがあるだろ。
そうじゃなくて、重さと長さを足したりするしょーもないバグコードが早期に検出できる。
その代わりに、汎用の行列ライブラリや数理最適化ライブラリ使うために、そこらじゅうでしょーもないキャストが発生して台無しになる。
海外っていうか、ほぼアメリカでしょ。他はほぼ全てヤーポン廃止だ。歴史が短いが故に歴史に固執してるのかなぁ……あれ。
“There are two kinds of country – Those that use the metric system, and those that have landed on the Moon.”
いやちゃんと作ってるものはそれなりに助かるよ。実際にやってみると無視する人がいるんでどこでもできるわけじゃないけど。
言語機能として実装してるのに、まったく触れられない F# かわいそうhttps://docs.microsoft.com/ja-jp/dotnet/fsharp/language-reference/unit... [microsoft.com]
これ、キャメルケースやスネークケースとかの命名規則と衝突するんですよねぇ。LengthInMm メガメートル?LengthInMillimetre Metre? meter? Meter?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
長さや速度やら物理量を扱うときは (スコア:1)
変数名やら関数名に、cmとかkmとかkmphとかmpsとか単位を入れておくと
単位換算ミスを防ぐことができる
Re: (スコア:0)
本来のハンガリアン記法ですね。
Re: (スコア:0)
長さや速度やら物理量を扱うクラスを作成してそれに隠蔽する。
単位はそのオブジェクトが知っている。
Re: (スコア:0)
昔のオブジェクト指向教はこういう布教をやってたよね。
実際にやってみると、ほぼ自己満足の世界。
(作業コストに比べて外部的利益はわずか)
Re:長さや速度やら物理量を扱うときは (スコア:1)
日本国内だけ対象にしてると恩恵があまりないけど、海外まで展開しようと思うと必須になってきますね
Re: (スコア:0)
あまり聞いたことが無いのだけど、メジャーなOSSとかで実例があれば教えて頂けますか?(できれば複数)
Re: (スコア:0)
ヤード・ポンド法対応?
そんなのSI単位系で書いておいて、出力時に単位変換かければいいのでは。もしかして誤差なしで整数インチとか扱いたいの?
Re: (スコア:0)
SI単位系でも接頭辞どうするかがあるだろ。
Re: (スコア:0)
そうじゃなくて、重さと長さを足したりするしょーもないバグコードが早期に検出できる。
Re: (スコア:0)
その代わりに、汎用の行列ライブラリや数理最適化ライブラリ使うために、そこらじゅうでしょーもないキャストが発生して台無しになる。
Re: (スコア:0)
海外っていうか、ほぼアメリカでしょ。他はほぼ全てヤーポン廃止だ。
歴史が短いが故に歴史に固執してるのかなぁ……あれ。
Re: (スコア:0)
“There are two kinds of country – Those that use the metric system, and those that have landed on the Moon.”
Re: (スコア:0)
いやちゃんと作ってるものはそれなりに助かるよ。
実際にやってみると無視する人がいるんでどこでもできるわけじゃないけど。
Re: (スコア:0)
言語機能として実装してるのに、まったく触れられない F# かわいそう
https://docs.microsoft.com/ja-jp/dotnet/fsharp/language-reference/unit... [microsoft.com]
Re: (スコア:0)
これ、キャメルケースやスネークケースとかの命名規則と衝突するんですよねぇ。
LengthInMm メガメートル?
LengthInMillimetre Metre? meter? Meter?