Index: [Article Count Order] [Thread]

Date:  Tue, 11 Aug 2009 10:35:23 +0900
From:  "IWPS) 平本" <t.hiramoto@....jp>
Subject:  [coding-standard:00018] VB.NET コーディング標準 改訂版
To:  コーディング規約の会 <coding-standard@....jp>
Message-Id:  <20090811103322.BE1C.59F887E@....jp>
X-Mail-Count: 00018

ひらぽんです。

現在公開されている 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