2012-01-02 8 views
0

Xml.Internal.AdomCore_4_3のような単位をスコープまたはSystem.StrUtilsファッションで来ました。Delphi XE2以降のスコープ単位に推奨される名前は何ですか?デルファイXE2の出現により

私は、このようなわかりやすい名前を使用する能力を好むが、私は命名規則と兼ね備えディレクトリ構造が何であるか困惑しています。

  1. はそれは.NETで

  2. または何か他のもののようなJavaの

  3. System.Security.Compression.ZLib.pasのよう

    • com.company.project.Security.Compression.ZLib.pasべきか?

  4. 私は、ルートフォルダにこの

    • System\Security\Compression\System.Security.Compression.ZLib.pas

    • か、単にSystem.Security.Compression.ZLib.pasのようなディレクトリstrcutureで私のファイルを配置する必要がありますか?エンバカデロは、私は、彼らは単にデルファイ5/6/7のようなディレクトリ構造を保ったという印象が残っています彼らのユニットを整理方法を見てみると

/.../ XE

してください助言する。

+0

それはあなた次第です。あなたのニーズに最も適したものを実行してください。あなたは、あなたが望んでいる種類の答えを得るために、より具体的な質問をする必要があるかもしれません。 –

答えて

4

私は誰もが自分のユニットを対象とすべきだと考えます。 (あなたがサードパーティのコンポーネントベンダーである場合にのみ、これを行う必要はありません。使用する外部ユニットの名前の衝突を減らしたいからです。)ユニットのスコープを設定することで、ユニットの命名を防ぐ非常に長い道が開かれます問題。

私は強くあなたはすべて内部的に作成されたユニットで使用するグローバルプレフィックスをお勧めしたいです。あなたの会社名の略式を使用することもできますし、あなたのフルネームを完全にあなたの好みとして使用することもできます。私は単純に何かを読んで簡単に入力することをお勧めします。

いくつかの主要なプロジェクトで作業する場合、Widgets製品/プロジェクトの場合はAcme.Widgets.SlicerUtils.pas、Wonkers製品の場合はAcme.Wonkers.WippleFactory.pasなどのプロジェクト固有の名前が続きます。

かかわらず、命名の、これは強く、あなたのプロジェクトをversionizeし、ソースコードを管理する方法に相関すべきです。その特定のビルドに関連するすべてのユニットを含めるために、Widgetsプロジェクトのバージョン1.2.1.0のビルドを簡単にセットアップできるようにしたいと考えています。 (1.2.1.0ウィジェットには、システムライブラリの明示的なリビジョン1.5.3.0が含まれている場合があります)これは、すべての開発者が容易に理解できるようにし、無意識のうちに管理する必要があります。 Widgetsプロジェクトの1.2.1.1で作業を開始するには、ワンクリック操作が必要です。

サブディレクトリ質問は、独自のサブディレクトリにバージョン管理プロジェクトを分離するために一般的なルールによって回答されています。したがって、Acme.System.Security.CompressionライブラリがAcme.System.Security.Authとは別にバージョン管理されている場合は、root \ System \ Compressionサブディレクトリ構造になりますが、Acmeを持っている可能性は高くなります。ウィジェットシステム)

ほんの少し役に立ちます。

3

Javaと.NETとは異なり、 "。"新しいスコープ付きファイル名では、実行時または設計時に機能が提供されません。 System.StrUtils.pasは、System_StrUtils.pasまたはSystemXStrUtils.pasと同じように簡単に呼び出すことができ、私たちは現在と同じ状況になります。そのための

私は、おそらくあなたが公に自分のコンポーネントを配布するコンポーネント開発者でない限り、新しい命名規則を採用することはお勧めしません。私は接頭辞は公式のDelphiシステム単位に限定されるべきであると信じているよう

それでも私は、あなたのユニットのSystem.MyUnit.pasに名前を付けていないでしょう。あなたが本当に(個人的に私は私がなるとは思わない)この新しい規則を採用している場合、私は

MyCompany.UnitName.pas

または

MyComponentLibの線に沿って何かあなたのユニットを指定するといいでしょう

.UnitName.pas私はあなたがデュアルフレームワークライブラリをリリースしていない限り、名前にVCLやFMXを置く必要性が表示されません。

関連する問題