ひらぽんです。
現在公開されている VB.NET のコーディング標準ですが、
さすがに 2002年・・・7年前に作られただけあって、
ここ最近の VB.NET の開発状況を反映し切れてない感が漂っております。
そこで改訂版なんぞを作ってみました。
http://www.acesekkei.com/download/CodingStdVB20090727.doc
かなり独断と偏見に基づいたものですが、千慮の一徳ということもあるかと考え
あえて公開してみます。どんどん突っ込みを入れて頂けると幸いです。<(_ _)>
なお中西庸文様とはコンタクトを試みましたが、
太陽システムをすでに退社されておられるようで、
デザパタのサイトで公開しているメアドも返信がない状況でした。
ちなみに以下、改訂版の概要です。
WORD 文書内では赤字にしている箇所が、改訂個所になります。
3. 命名規則
(2個所の改訂)
----------------------------------------------
(21) Boolean変数を返すメソッド
・・・例外:
Function Empty() As Boolean
「空にする」という動詞的な意味に取れるが、
.NET においては多くのクラスで「空である」という形容詞的な意味に使われている場合もある。
整合性を取るためこれを用いても構わない。ただし基本的には IsEmpty を推奨
(29) Private / Protected / Friend / Protected Friendスコープのインスタンス変数
・・・またインスタンス変数であることを明示的にするため、
プリフィクスには m_ もしくは アンダーバーを推奨。
4. ガイドライン
(8個所の改訂)
----------------------------------------------
(42) 長いメソッド
メソッドは、短ければ短いほどよい。
(43) 肥大化したクラス
クラスを定義したファイルが数千行の規模になった場合、クラスが肥大化している傾向が考えられる。・・・
(44) 双方向結合を排除せよ
ClassA と ClassB の二つのクラス同士で、互いが互いを知っているような関係はよくない。・・・
(55) Return
メソッドを抜ける場合、Exit Sub や Exit Function よりも Return を使う。・・・
(62) FormをMustInherit にするな
Formや UserContorl を MustInherit クラスにしてはならない。・・・
(72) String.IsNullOrEmpty
文字列を空文字と比較するには String.IsNullOrEmpty を使え。・・・
(76) 文字列の結合
複雑な文字列や、大量の文字列を結合する際は System.Text.StringBuilder クラスを使うこと。・・・
(77) 埋め込みクエリのパラメータ
直接クエリに変数を結合させてはいけない。変数がセキュリティホールになる恐れがある。・・・
5. コメント
(1個所の改訂)
----------------------------------------------
(78) ドキュメントコメント
'''<tag>コメント</tag> を多いに活用すること。・・・
概略は以上です。
なおこの改訂版ですが、私のブログでも公開させて頂いてもよろしいでしょうか?
以上、よろしくお願いいたします。
--
IWPS) 平本 <t.hiramoto@....jp>
blog http://blogs.yahoo.co.jp/hilapon