0

物事に名前を付けるのは難しいです。クラス、変数、およびメソッドに名前を付けるときは、言語 (MSSQL、VB.NET または C#、HTML、CSS、jQuery) およびフレームワーク (.NET) の予約語またはキーワードとの衝突を避けるように努めています。

あまりにも頻繁に間違いを犯し、簡単に戻って名前を変更するには手遅れになるまでそれに気付きません。

シナリオ: (1) 最初にデータベース スキーマを作成し、次に (2) テーブルまたは列の名前が C#/.NET オブジェクトの適切な選択ではないことに気付きます。

どのようなテクニックを使用しますか?

4

8 に答える 8

14

まともなIDE...

于 2009-12-10T00:22:33.767 に答える
6

Visual StudioまたはSQL Server Management Studioを使用している場合、予約済みのキーワードが別の色で強調表示されます。

一部の言語には、本当に必要な場合に予約済みのキーワードを使用するための特別な構文がありますが、実際にはお勧めしません。たとえば、C# では、アット マークを前に付けることができます

var @class = "Hello";

または、SQL Server では角かっこを使用できます。

SELECT [where] from Locations;
于 2009-12-10T00:26:41.700 に答える
3

ほとんどすべてのエディターと IDE は、編集中のコードの言語構文を認識していれば、適切な (他の記号とは対照的な) 色でキーワードを自動的に強調表示します。

昔のように、このテクノロジーにアクセスできない場合は、すべてのキーワードを記憶し、チート シートを手元に置いておくのが最善の策でした。しかし、実際には、編集者がそれを行う必要があります。

于 2009-12-10T00:25:15.213 に答える
2

大規模なプロジェクトであっても、この問題に遭遇したことはありません。変数名に型のプレフィックスを付けるなど、私が従う標準的な規則があります。また、名前空間を利用して、必要なオブジェクト/メソッドを正確に取得できるようにしています。正直なところ、予約されていないものに名前を付ける難しさがどこにあるのか、私にはわかりません。

于 2009-12-10T00:25:05.773 に答える
2

キーワードの衝突で問題が発生したことはめったにありません。リストに List という名前を付けると、もっと意味のある変数名を使用する必要があったため、それに噛まれるに値します...

もちろん、コンパイラを構築していて、実際にClassクラスが必要な場合、その点は意味がありません...しかし、それはめったにありません。

他のほとんどすべてのケースではList list、 、 whenList itemsまたはList tokensは意味がありません。

于 2009-12-10T00:46:26.513 に答える
1

構造化プログラミングを使おう!

これは、異なるスコープ内の変数のみが存在し、そのスコープにのみ関連する必要があることを意味します。グローバル変数を使用する場合は、明示的に使用してください。

プログラムの領域を関数に分割できない場合は、領域をクラスに分割します。そうすれば、AreaX->ID は AreaY->ID と衝突しません。クラスは、いくつかの予約語を回避することもできます。

いくつかの予約語については、一般的な名前を避けるようにする必要があります。私は $HOME が PHP で特に危険であることを知っています。

于 2009-12-10T19:56:07.500 に答える
1

より明確にするために行きます。

C# の例

クラス

cssクラス

SQL サーバーの例

アップデート

更新の実行

于 2009-12-10T00:25:23.950 に答える
1

IDE が役に立ちます。

良い方法は、使用している言語の構文を学ぶことです。通常、言語の予約済みキーワードのリストを見つけることができます。

JavaScript のような動的言語を定期的にテストすると、キーワードに関する問題がすぐに明らかになります。(私はまだEclipseをjavascriptでうまく動作させていないので)。

于 2009-12-10T00:29:38.840 に答える