タグ付けされた質問 「hungarian」

13
変数名の前に変数タイプの略語を付けますか?(ハンガリー記法)[終了]
私の現在の仕事では、コーディングのガイドラインはありません。誰もが彼の望み通りにコーディングしています。会社が小さいので、これは問題ありません。 ただし、最近、新しい記者の1人が、常にハンガリー記法を使用することを提案しました。これまで、私たちの中にはある種のハンガリー記法を使用していた人もいれば、そうでない人もいました。エンジニアリング会社なので、アルゴリズムが適切である限り、コーディングスタイルは実際には重要ではありません。 個人的には、これらの小さなタイプの略語は一種の冗長であると感じています。よく考え抜かれた名前は通常、同じメッセージを伝えます。(さらに、私たちのコードのほとんどは、とにかくコンセプトが存在する、boolまたはfloat存在しない、奇妙なDSPで実行する必要があります)。 それでは、ハンガリー記法についてどう思いますか?使いますか?どうして?

7
ハンガリーの表記法は、表現が不十分な静的型付けの言語の回避策ですか?[閉まっている]
Eric Lippertの記事「What's Up With Hungarian Notation?」、彼はハンガリー記法(良い種類)の目的は ストレージ表現情報に加えてセマンティック情報を含むように「タイプ」の概念を拡張します。 簡単な例は、X座標を表す変数の前に「x」を、Y座標を表す変数の前に「y」を付けることです。これらの変数は整数か浮動小数点かどうかに関係なく、xFoo + yBar、コードは明らかに間違っています。 しかし、私はHaskellの型システムについても読んでおり、Haskellでは、コンパイラがチェックする実際の型を使用して同じことを達成できるようです(つまり、「型の概念を拡張して意味情報を含む」)。したがって、上記の例ではxFoo + yBar、プログラムを正しく設計すると、Haskellで互換性のない型として宣言されるため、実際にコンパイルに失敗します。つまり、Haskellの型システムは、ハンガリー語表記と同等のコンパイル時チェックを効果的にサポートしているようです。 それでは、ハンガリー記法は、型システムが意味情報をエンコードできないプログラミング言語の単なるバンドエイドなのでしょうか?または、ハンガリー記法は、Haskellのような静的型システムが提供できる以上のものを提供しますか? (もちろん、私はHaskellを例として使用しています。他の言語も同様に表現力豊かな(リッチ?ストロング?)型システムを備えていると確信していますが、私はまったく遭遇していません。 明確にするために、私はしていないと、変数名に注釈を付けるの話データタイプではなく、に関する情報を意味プログラムのコンテキスト内の変数の。たとえば、変数は整数、浮動小数点、倍精度、長整数などの場合がありますが、変数の意味は、インチ単位で測定される相対x座標であることです。これは、ハンガリー記法(およびHaskell型)を介したエンコードについて話している種類の情報です。

8
Systems Hungarianの魅力は何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 でガイドラインを命名何が続くのですか?、著者は言います: また、Charles Simonyiのハンガリー記法を使用してコーディングすることを好みます。 私は、ハンガリー語を使用することを好む複数のプログラマーに出会ったことがありますが、その多くはペツォルド/システムズのハンガリー語です。考えてくださいdwLength = strlen(lpszName)。 私は間違ったコードを間違って見えるようにしましたが、ドメイン名の情報が変数名に含まれているApps Hungarianの原理を理解しています。しかし、コンパイラー型を名前に付加することの価値は理解していません。 なぜプログラマーがこのスタイルの表記法を使用し続けるのですか?それは単なる慣性ですか?可読性の低下を上回る利点はありますか?人々はコードを読むときにデコレータを無視することを学ぶだけなのでしょうか? 編集:多くの答えが歴史を説明している、またはなぜそれがもはや関連していないか、両方とも私が引用した記事でカバーされています。 私はまだそれを使用している世界中の誰からも聞きたいです。なぜそれを使用するのですか?それはあなたの標準にありますか?不要な場合は使用しますか?新しいプロジェクトで使用しますか?利点は何ですか?

12
タイプとスコープの接頭辞は価値のある命名規則ですか?
最近、ソフトウェア開発者として最初の仕事を始めたとき、コードの命名規則に従う必要がないと言われたとき、私は少し投げられました。他のより大きなプロジェクトに取り組んでいるグループによって書かれたコードは命名規則に従っていましたが、私は新しいスタンドアロンのアプリケーションを書くために持ち込まれたので、それは特に重要ではないという感じでした。それが私の心配の最後だったので、私はちょうどその既存の慣習を取り、それで走りました。 int nTickCount bool bConnected object[] m_aItems fSum += fWeight * fValue class cManager enum etSystemStates etSystemStates eState cManager.cs しかし、実際に価値があるのでしょうか?この種の命名規則に従うことがエラーの理解と検出に与える正味の効果を判断するのは難しいと思いますが、視覚的には、それはちょっといように見えます。さらに、cSomethingと呼ばれるプロジェクトにすべてのクラスとファイルがあることは、非常に簡単です。 私が採用しているアルゴリズムやアーキテクチャのような明らかな違いをもたらすものと比較した場合、それはリモートで大したことではないという幻想ではありません。しかし、私が書いたコードのすべての行に影響する規則は、正しく理解する価値があるようです。 使用する必要がある場合、最もエレガントで効果的な命名規則は何ですか?タイプやスコープを示していますか?

3
ハンガリー語表記を使用しないように苦労している
Systems Hungarianに対する賛否両論があります。数年間、私はすべての変数に名前を付けてこのシステムを使用するレガシープロジェクトに取り組んできました。たとえば、(strName、intAge、btnSubmitなどの)変数タイプのプレフィックスを付けます(元のハンガリーアプリのプレフィックスは型ではなく変数)。次のプロジェクトではそれを完全に破棄したいのですが、それに頼らずに同じようなものに一意の名前を付けるのは難しいと思います。 メールアドレスを収集してデータベーステーブルに保存するためのウェブフォームと、アドレスをデータベースに保存する関数を呼び出すボタンがあるとします。 ハンガリースタイルの表記法を使用している場合、ボックスをtxtEmailボタンbtnEmail、テキストボックスに含まれる値と呼ぶことができますstrEmail。次に、関数storeEmail(strEmail)を使用してメールを保存します。ここには明確な規則があります。各変数が何であるかは明らかです。 これらの変数に名前を付けるためのベストプラクティスは何でしょうか ハンガリーのシステムに頼ることなく それらを長くしたり混乱させたりすることなく プロジェクト全体で使用する明確な規則がありますか?
10 naming  hungarian 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.