Delphi Tips 
-----------------------------

0341  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 2003/06/25 osamu rev 1.1
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 2003/06/25 osamu 編集
Delphi の格言

[Delphi-ML:68385] から始まったツリーなんですが、まとめるに当たって編集者の個人的な好みが反映されています。ご容赦。

1) リソースの取得と開放は try〜finally〜end を使うべし。[Delphi-ML:68385]
2) Assert を使いまくれ。[Delphi-ML:68385]
3) メソッドを override するとき、override キーワードが抜けていないか常にチェックせよ。[Delphi-ML:68385]
4) Except で例外を処理するとき、raise で例外を再生成する必要がないか常にチェックせよ。[Delphi-ML:68385]
5) with文を使用するのは控えること[Delphi-ML:68385][Delphi-ML:68402]
6) フォームは自動生成ではなく自分で明示的に生成しよう![Delphi-ML:68386][Delphi-ML:68402]
7) AnsiString, WideString, Interface, Variant, 動的配列を含むレコードを動的に確保するときは New, Dispose を使うか、動的配列でメモリを確保せよ[Delphi-ML:68387][Delphi-ML:68423]
8) Application.ProcessMessages はその危険性を充分認識して使え。[Delphi-ML:68387]
9) VCL のソースをよく読もう。[Delphi-ML:68387]
10) RECORD に AnsiString/WideString/DynArray を不用意に使うな。[Delphi-ML:68391]
11) RECORD や ARRAY は PACKED が必要か考えろ。[Delphi-ML:68391]
12) 1行処理でも begin 〜 end は必ず付けよう。[Delphi-ML:68401]
13) 「名は体を表す」 変数名やクラス名、コンポーネント名は意味のわかる単語で。[Delphi-ML:68401]
14) バリアント変数の型変換はなるべく関数経由で。[Delphi-ML:68402]
15) try 〜 exceptはエラー情報の損失を最小に。[Delphi-ML:68402]
16) プロパティと同一名をメソッドの仮引数名に使わない。[Delphi-ML:68402]
17) イベントハンドラ内に細かい処理を書かない。[Delphi-ML:68402]
18) 他のフォーム内のコンポーネントは直接触らず、メソッドかプロパティ経由で。[Delphi-ML:68402]
13) 状態変化を伴うメソッド(C++での non-const method)は、なるべく関数でなく手続きに[Delphi-ML:68402]
14) プロジェクトで開発するときは基底モジュールを用意してフォームの継承を活用する[Delphi-ML:68408]
15) TThreadからVCL(TFormとか)を参照するときは必ずSynchonize! [Delphi-ML:68411]
16) public で 非virtual なメソッドは極力再定義するな。[Delphi-ML:68420]
17) オブジェクトが上位から継承する仮想メソッドを呼び出すときは inherited をつけて呼び出すか、そうしないかをよく考えよ。[Delphi-ML:68420]
18) デストラクタは、必ず destroy という名にして、必ず仮想メソッドにする。[Delphi-ML:68420]
19) コンストラクタは protected にしてはいけない[Delphi-ML:68420]
20) New で確保したメモリを破棄するときは、New に渡したポインタと同じ型のポインタを Dispose に渡せ[Delphi-ML:68423]
21) コメントは必要最小限にして、極力コードの可読性を高めよ[Delphi-ML:68429]
22) デフォルト引数は使わず、オーバーロードを使え。[Delphi-ML:68433]
23) {ObjExportsAll On} を忘れずに。[Delphi-ML:68433]
24) 名前だけが異なる複数のコンストラクタは作らない。[Delphi-ML:68433]


IDEの格言
1) アプリケーションをリリースするときは、map ファイルを作るのを忘れずに。[Delphi-ML:68385]
1b) 外に出したようなリリース版は、*.dcu をすべて保存しておいて Delphi を起動して「エラーの検索」を活用する[Delphi-ML:68572]

2) たくさんウィンドウを開いているときは ALT+0 を活用せよ。[Delphi-ML:68385]
3) コンパイルオプションは Ctrl+O+O でソースに埋め込むとIDE のコンパイルオプションの設定に左右されないソースが作れる。[Delphi-ML:68385]
4) デフォルトのコンパイルオプションの変更はトラブルの元。[Delphi-ML:68385]
5) Delphi をインストールしたら「環境オプション]→[設定]→[自動保存の設定]→[エディタファイル]をチェックしよう。[Delphi-ML:68420]


コンポーネントの格言
1) OnExit イベントでダイアログボックスを表示するな。[Delphi-ML:68385]
2) コンポーネントの Loaded メソッドが呼ばれることを仮定したコンポーネントを作ってはいけない。[Delphi-ML:68385]
3)自動生成されるコンポーネント名をそのままでほったらかすな。意味のわかりやすいコンポーネント名に変えろ。[Delphi-ML:68398][Delphi-ML:68402]

番外編
1) 『プログラミング作法』を読もう。[Delphi-ML:68404]
  http://www.ascii.co.jp/books/detail/4-7561/4-7561-3649-4.html

人間関係の格言???[Delphi-ML:68543]
1.感情的に物事を判断しない。
2.例え正しい事でも、言い方や伝え方には気を使う。
3.コーディングスタイルには、ある種の宗教的要素が存在する事を認めて無駄な議論にならないように。
 (みんな、自分のスタイルが正しいと信じている。)
4.ユーザーがどのように使い運用するのかを常に考える。
 (ユーザーとのコミュニケーション無しに役立つソフトはできない。)
5.最初から完全なソフトウェアを目指そうとしてはいけない。
 (実際に運用してみないと分からないもんです。
 役立つソフトであれば仕様変更は必ずあります。必要最低限の機能を早くリリースするように心がけましょう。)
参照: [Delphi-ML:68385] <開発環境> <PASCAL>

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp