7

少しの間、慣例により、識別子にキャメルケースの単語を使用する言語でプログラミングしていると仮定しましょう。アンダースコアで区切られたメソッド名を持つすべての Ruby 型は、これに座ります。

あなたの名前に頭字語が含まれている場合、最初の文字の後の文字を大文字にするためにどのようなアプローチをとっていますか? たとえば、メソッド createSQLBuffer と createSqlBuffer のどちらを呼び出しますか? この状況で何をすべきかを指示するポリシーはありますか? さらに、どちらか一方を具体的に提唱している記事、または実際にこれをカバーしている記事をリンクしてもらえますか?

私はそれが大したことではないことを知っていますが、何らかの理由で、メソッド/クラス/変数の一方が大文字で、他方がより自然に見えるものに出くわすことがあります。奇妙なことに、一貫性があるかどうかさえわかりません。特定の名前ではすべて大文字を使用し、他の名前では小文字を使用するのが好きだということを知っても驚かないでしょう。

誰もがこれについて意見を共有したいですか?

4

5 に答える 5

11

私は頭字語を大文字にするときに 1 つの単語として扱うのが好きなので、createSqlBuffer が好きです。

于 2009-01-09T17:35:47.710 に答える
4

createSqlBuffer.NET の命名ガイドライン (パスカル ケースであっても) では、頭字語が 2 文字の頭字語 (so, , but )でない限り、頭字語の最初の文字のみを大文字にすることを提案していcreateIOBufferます。

于 2009-01-09T17:39:24.317 に答える
3

IMO、頭字語の最初の文字だけを大文字にすることは、単語全体を大文字にすることがキャメルケースの動作を壊すという理由だけで、キャメルケースの場合に意味があります。キャメルケースの単語の大文字は、通常の英語の大文字小文字の規則に従わずに、各単語の先頭を示すことになっています。頭字語全体を大文字にすると、頭字語の終わりと次の単語の始まりとの間の明確な分離が失われます。

また、大文字を1つだけ使用すると、入力が簡単になります(目には少し見やすくなります)。

ただし、IOおよび他のほとんどの2文字の略語については同意します。上記を考慮しても、私は通常、それらを大文字のままにします。結局のところ、それは本当に読みやすいものについてです。

于 2009-01-09T18:21:24.357 に答える
1

fudgeSQL() よりも fudgeSql() を使用する方が少し簡単かもしれませんが、特定のコンテキストでは後者の方が正しいように見えることがあります。

クラス名やメソッド名で頭字語と別の頭字語が隣り合ってしまうことがありますが、これはあまり良くありません。また、どういうわけか、入力するときに単一の大文字にする方が少し簡単です。ただし、すべての場合にそれが良いとは思いません。確かに I/O -> IO です。Io (木星の月) がクラス名またはメソッド名の一部として表示されるのは嫌いです。多分それは主観的なものの1つであり、頭字語自体に依存しています. 一貫している限り...

Java で getter と setter を使用すると、大文字の場合、変数は次のようになる必要があります。

private ACRO aCRO;

より良いというよりは

private ACRO acro;

生成されたゲッターとセッターのため(とにかくEclipseでは)

void setAcro(ACRO acro)

命名規則と矛盾しています。

void setACRO(ACRO aCRO);

私の言いたいことがわかるなら。

于 2009-01-09T17:49:57.870 に答える
1

私の経験では、通常の規則では、大文字を単語の区切り記号として扱います。つまり、UseSQL ではなく useSql です。正しい答えは、コードを最も明確にする規則を使用し、それを一貫して使用することです。JeeBee が指摘しているように、これはツールの仮定の影響を受ける可能性があります。

于 2009-01-09T18:04:36.950 に答える