問題タブ [hungarian-notation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Do you use Hungarian notation for control names?
I totally agree that we should not use Hungarian Notation to name variables. But it seems that Hungarian Notation is still useful to name controls (especially Winform controls). Consider these:
etc...
I really doubt that should we avoid Hungarian notation in this case? If should, which is alternative solution to name controls?
hungarian-notation - CClass IInterface
これがハンガリアン記法(CClassおよびIInterface)の場合、それを回避する方法はありますか?私は通常、ハンガリアン記法を使用しません。習慣からこれを行うのが賢明かどうかはわかりません。
python - Python Generator Function Names -- プレフィックスは役に立ちますか?
ほとんどの関数は簡単に名前を付けることができます。通常、関数名は、その機能または生成される結果のタイプに基づいています。
ただし、ジェネレーター関数の場合、結果は他の型の iterable になる可能性があります。
関数は名前付きのsometype
型のオブジェクトを返さないため、名前は誤解を招くように感じます。それは本当に iterable oversometype
です。
ハンガリー語表記法iter_sometype
に似ている、またはgen_sometype
少し似すぎている名前。ただし、機能の意図も明確になっているようです。
さらに進んで、プレフィックスが役立つ可能性がある、より特殊なケースがいくつかあります。これらは典型的な例であり、そのうちのいくつかはitertoolsで利用できます。ただし、アルゴリズムが複雑で に似ているバージョンを作成しなければならないことがよくありますがitertools
、完全に適合するわけではありません。
iter_
, map_
, reduce_
,filter_
プレフィックスは、ジェネレーター関数の名前を明確にするのに役立ちますか? それともただの視覚的な混乱ですか?
接頭辞が役立つ場合、どのような接頭辞の提案がありますか?
または、サフィックスが役立つ場合、どのようなサフィックスの提案がありますか?
c# - StyleCop SA1305 の違反を修正する方法 (ハンガリー語)
私のコードには、「m_d3dDevice」という名前の変数が含まれています。
StyleCop はこの名前について文句を言います:
SA1305: 変数名 'm_d3dDevice' は、ハンガリー表記のようなプレフィックスで始まります。プレフィックスを削除するか、許可されたプレフィックスのリストに追加してください。
(SA1308 ("m_") を手動で無効にしたことに注意してください。これは、従わなくても構わないと思っている数少ないルールの 1 つです。)
ハンガリー語タブで「d3d」を例外として許可することはできません。1 つまたは 2 つの文字プレフィックスしか許可されず、「d3」を許可しても役に立たなかったからです。「d3d」を CustomDictionary ファイルに追加するために考えられるすべてのことを試しました (とにかく、ドキュメントは CustomDict がルール 1305 に使用されていないことを暗示しています)。
StyleCopでこれを許可するための提案はありますか? 私の変数をF2する必要がないことは、今では誇りの問題です。
c++ - 定数の k 接頭辞はどこから来たのですか?
定数に接頭辞を付けるのはかなり一般的な方法ですk
(例: k_pi
)。しかし、k
どういう意味ですか?
単にそれはc
すでに意味されていchar
ますか?
visual-studio - 自動化された方法でC#コードのハンガリー語表記を取り除きますか?
objQueue
ほとんどの変数名objCommon
にSystems Hungarian を使用する大規模なコードベースがあります dtDataSet
。
それらのほとんどを変換する方法はありますか?obj
特に、変数名が似ているように見えたり、コードが完全に読めなくなったりする、まったく意味のないイライラするものを取り除きたいです。
同様の質問がありましたが、交換する価値があるかどうかを尋ねていました。
「そのままにしておく」などの回答は、私には何の役にも立たない。
コードベースは非常に大きく、変数の名前を 1 つずつ変更したくありません。検索と置換も実行したくありません。誤ったヒットが表示され、コードがさらに混乱するからです。
Visual Studio でそのような置換を行う自動ツールはありますか? Resharper のアドインか何か?
java - Web ページの変更検出
現在、私は前学期のプロジェクト/論文を作成しており、「Web で Web ページの変更を検出する」ことを考えていました。このトピックに関する 2 つの論文を読みましたが、いくつかの混乱があります
1.と題する論文で
モバイル Web ページのトランスコーディングを高速化するためのアプリケーションを備えた、強化された Web ページ変更検出アルゴリズム1
それは書かれている
最初に、HTML ドキュメントからサブツリーを生成します。各サブツリーには、タグの内容に従ってマークが付けられます。
私の質問は、HTML ドキュメントからサブツリーを生成する方法です?? そのためのテクニックとは。次の質問は、「タグの内容に応じてマークを付ける」ことで何を言っているのかです。
2.こちらの画像をご覧ください!! 提案手法の全体図
「最も類似したサブツリーを計算する」ボックスで、マッチングはどのように行われますか?? と題された別の論文で
最適化されたハンガリー語アルゴリズムに基づく効率的な Web ページ変更検出システム [2]
ハンガリー語のアルゴリズムがマッチングに使用されます。行は論文から引用されています
ハッシングと類似度計算の数の削減に基づく、高速な HTML Web ページ変更検出アプローチ [3]
[2] のアプローチは、O(N 3 ) ハンガリアン アルゴリズムを使用して、重み付き 2 部グラフで最大の重み付きマッチングを計算し、O(N 2 x N 1 3 ) の実行時間を持ちます。ここで、N 1と N 2は、それぞれ、古いページと新しい (変更された) ページのノード数です。」私の質問は、サブツリーが形成されているため、重みが追加される理由と、それらがどのように追加されるかです。
私の質問/混乱を読んでくれてありがとう.
vb.net - VB.NETでのハンガリアン記法?
intMyInteger
私たちのプログラミングの先生は、プログラミング中にハンガリアン記法(たとえば、、、strMyString
...)を使用するように教えてくれました。
しかし、私はどこかでこれが実際にプロの世界で使用されていないことを聞いたことがあります。これは本当ですか?
編集:これが実際には「Leszynski」であることがわかりました
c++ - ハンガリー語表記を追加する正規表現
私はファイルを解析.h
しており、ハンガリー語で表記されていないすべての変数を見つけて、それらに相当するハンガリー.cpp
語で置き換える必要があります。「えっ、どうして!?」あなたが尋ねる?私の雇用主はハンガリー語の表記法を要求しています」と nuff は言いました。
とりあえず対処しましょうints
。
これらのケースのいずれかを考えると...
それらは次のように変更する必要があります。
理想的には、 1行の呼び出しを1つだけ狙っています。s///
追加の課題として、誰かが「型チェック」の後にこの変数のすべてのインスタンスを変更する何かを手に入れることができれば、int
ブラウニーポイントを獲得できます。
これが私がこれまでに持っているものです:
int nrow
これは、またはのようなものとは一致しませんint number
。
前もって感謝します!
c++ - 各関数によって提供される例外の安全性の保証をどのように追跡しますか?
例外安全なコードを記述する場合、呼び出されるすべての関数の例外安全性の保証 (none、basic、strong、または no-throw) を考慮する必要があります。コンパイラは何の助けにもならないので、ここでは関数の命名規則が役立つのではないかと考えていました。関数によって提供される例外の安全性保証のレベルを示す確立された表記基準はありますか? 私はハンガリーのようなものに沿って考えていました:
編集:この種の命名規則は醜いというコメントに同意するので、提案する理由を詳しく説明させてください.
一部のコードをリファクタリングし、そのプロセスで、関数によって提供される例外の安全性のレベルを変更するとします。保証が、たとえば強力なものから基本的なものに変更された場合 (おそらく速度の向上によって正当化されます)、リファクタリングされた関数を呼び出すすべての関数は、例外の安全性について再検討する必要があります。保証の変更によって関数名も変更された場合、コンパイラは、少なくとも変更された関数のすべての使用にフラグを立てることで、私を少し助けることができます。これは、問題のある上記の命名規則を提案する私の理論的根拠でした。これは const と非常によく似ています。関数の const 性を変更すると、他の呼び出し関数にカスケード効果が生じますが、その場合、コンパイラは非常に効果的な支援を提供します。
したがって、私の質問は、特にコードのメンテナンスとリファクタリング中に、コードが意図した例外保証を実際に満たすようにするために、人々がどのような作業習慣を開発してきたかということです。