42

定数に接頭辞を付けるのはかなり一般的な方法ですk(例: k_pi)。しかし、kどういう意味ですか?

単にそれはcすでに意味されていcharますか?

4

9 に答える 9

97

これは歴史的な奇妙なことであり、理解できないコーディング標準を盲目的に適用したいチームの間では今でも一般的な慣習です。

ずっと前に、ほとんどの商用プログラミング言語は弱い型付けでした。現在私たちが当たり前と思っている自動型チェックは、まだほとんど学術的なトピックでした。これは、カテゴリエラーのあるコードを簡単に記述できることを意味します。コンパイルして実行しますが、診断が難しい方法で失敗します。これらのエラーを減らすために、Simonyiと呼ばれる章では、各変数名をその(概念的な)タイプを示すタグで始めて、誤用されたときに簡単に見つけられるようにすることを提案しました。彼はハンガリー人だったので、その慣習は「ハンガリー記法」として知られるようになりました。

しばらくして、型付き言語(特にC)の人気が高まるにつれ、これは良い考えだと聞いた馬鹿もいましたが、その目的を理解していませんでした。彼らは、宣言された型を示すために、各変数に冗長タグを追加することを提案しました。それらの唯一の用途は、変数の型を簡単にチェックできるようにすることです。誰かがタイプを変更してタグを更新するのを忘れた場合を除いて、その場合、それらは積極的に有害です。

2番目の(役に立たない)形式は、説明と実施が簡単だったため、多くのチームで盲目的に採用されました。数十年経った今でも、それが使用され、提唱されていることさえあります。

「c」はタイプ「char」のタグであったため、「const」にも使用できませんでした。そのため、ドイツ語で「konstant」の最初の文字であり、数学の定数に広く使用されているため、「k」が選択されました。

于 2011-02-16T13:37:13.917 に答える
30

私はそれをあまり見たことがありませんが、おそらく特定の言語 (特にゲルマン語の言語) の定数-定数という単語のスペルに由来します。

于 2011-02-16T12:55:50.257 に答える
9

ハンガリー表記を使用しないでください。定数を目立たせたい場合は、すべて大文字にします。

余談ですが、Google Coding Standards には、(コードの読みやすさの点で) 実践が不十分な点がたくさんあります。これは、委員会によってコーディング標準を設計するときに起こることです。

于 2011-02-16T13:22:16.480 に答える
5

数学的慣習が先例だったと思います。k は常に数学で定数として使用されます。

于 2011-02-16T12:56:03.277 に答える
4

これは、値が k 定数であることを意味します。

于 2011-02-16T12:51:58.863 に答える
1

Kは、定数の言葉遊びであるkonstantの略です。コーディングスタイルに関連しています。

それは好みの問題であり、一部の人々やプロジェクトはそれらを使用しています。つまり、ハンガリアン記法も採用していますが、多くは採用していません。それはそれほど重要ではありません。

接頭辞またはスタイルが何を意味するのかわからない場合は、プロジェクトにコーディングスタイルの参照があるかどうかを常に確認し、それを読んでください。

于 2011-02-16T12:58:07.813 に答える
0

おそらく数学からの慣習です。ただし、定数については他にも提案があります。たとえば、Kernighan と Ritchie は、著書「The C language」で、定数の名前を大文字で書くことを提案しています (例: #define MAX 55)。

于 2011-02-16T13:39:37.497 に答える