13

私は最近CとC++について読んでいますが、C /C++プログラマーが変数名と関数名で過度に省略形を使用しているという感覚を揺るがすのは仕方がありません。どちらもコンパイル言語であるため、これが有益である理由がわかりません。事実上、私が遭遇したすべてのコードは、他の言語よりも略語を使用しています(もちろん、私の個人的な経験です)。

したがって、質問はこれになります。C / C ++で略語を使用したい理由はありますか?より長い変数名を使用することでパフォーマンスの問題がありますか、それとも単なる慣例ですか?

編集:ここでワームの缶を開けたようです。私はコーディングスタイルについての議論ではなく、はい/いいえの答えを望んでいました。

4

3 に答える 3

17

これは主にコンベンションです。

初期のCコンパイラは、識別子が8文字を超える(または6文字でさえある)場合があることを保証していなかったため(コンパイラによって同等と見なされるため)、歴史的なニーズがありましMyFantasticFooMyFantasticBar。最近のコンパイラにはそのような厳しい制限はありません。詳細については、この回答を参照してください。

今日、Cコードが簡潔であることが多いのは、慣習やスタイルの問題だと思います。

于 2012-11-21T09:29:37.290 に答える
8

これは、プログラミングの初期の頃からの二日酔いです - プログラミングの難しい部分はコードを書くことではなく、それを読むことであると理解される前に。

于 2012-11-21T09:42:32.733 に答える
5

まず、これは一般的なルールではないと思います。Steve Jessop がコメントで思い出させてくれるように、APL などの他の言語では伝統的にさらに短い名前が使用され、Fortran (少なくとも私が使用したとき) は名前の最大長が 6 に制限されていました。

言語以上に、ドメインが役割を果たしていると思います。たとえば、Unix プログラマーは Windows プログラマーよりも短い名前を使用する傾向があります。これは、システム API が短い名前を使用しているためです (少なくとも部分的には、Unix はかなり古く、以前のリンカーは 6 つまたは 8 つを超えるシンボルを処理できませんでしたが、creat代わりに 説明しませんcreate)。数学には、名前を短縮する伝統もあります。数式を扱うときに、インデックスindexではなくのような名前を使用すると、コードが明確で説明しにくく なります。数学の最初のインデックスの伝統的な記号はii. また、他の多くのドメインには、多かれ少なかれ確立された頭字語または略語があります。私が電気通信で働いていたとき、(クライアントからの) 仕様書は、終端点と相互接続ではなく、TP と CX について述べていました。そして、私の現在の銀行環境では、プログラムの外であっても、単純な CDS や CDO ではなく、「クレジット デフォルト スワップ」や「債務担保証券」を書く人は誰もいません。したがって、C++ で短い名前が表示されている場合は、別のことを行うコードを見ており、プログラミング環境の外でも略語が一般的であるドメインから来ている可能性があります。

于 2012-11-21T09:50:06.920 に答える