C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: VB.NETのコーディング規約について


(過去ログ 61 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■34868 / inTopicNo.1)  VB.NETのコーディング規約について
  
□投稿者/ kotomi (1回)-(2009/04/13(Mon) 10:26:28)

分類:[.NET 全般] 

現在、VB.NETにて開発を行おうと思っています。
メソッドの行数や、メソッドとシステム関数の呼び出しの数は何個まで等の規約をご存知の方はいらっしゃいますでしょうか?
色々と探索をしているのですが中々見つからず、VB.NETの知識がある方に聞いても「経験や勘でやっている」と言う状態ですので。。。
すべて規約に沿ってと言う訳ではないのですが、一つの規約として知っておきたいので、ぜひご存知の方はご教授お願いします。
引用返信 編集キー/
■34870 / inTopicNo.2)  Re[1]: VB.NETのコーディング規約について
□投稿者/ よねKEN (314回)-(2009/04/13(Mon) 11:04:15)
まずはじめに言っておきますが、絶対的な規約などというものはありません。
ご自身が決める立場にあるのであれば、そのチームにとって何が最適かを十分検討して決めればよいです。

.NETでの開発では私は以下に沿ってやります。
(クラスライブラリの開発向けですが、通常の開発でも特に問題なければ沿っておくべき内容です)

○クラス ライブラリ開発のデザイン ガイドライン
http://msdn.microsoft.com/ja-jp/library/ms229042(VS.80).aspx

行数などの件については、このガイドラインには含まれて居ません。
VisualStudioの上位エディションが使えるなら、コードメトリックスの計算の機能を使います。
後、コード分析も場合によっては使用します。

No34868 (kotomi さん) に返信
> 現在、VB.NETにて開発を行おうと思っています。
> メソッドの行数や、メソッドとシステム関数の呼び出しの数は何個まで等の規約をご存知の方はいらっしゃいますでしょうか?

それは規約に含まないといけませんか?
含めたとして、順守されているかをどうやって確認しますか?

メンバーのスキルによっては決める場合もありますが、私ならあまりこういうのは決めません。
実装初期に各メンバーのプログラムをしっかりレビューして、しっかりとした構造化ができているか
をチェックすればいいかなと思いますので。

メンバーのスキルが低い場合や読めない場合は、最低限のラインとしての基準は明記するかもしれません。
その場合も完全無欠なルールなんてありませんので、決める人の経験則で決めているものが多いでしょう。

私が決めるとすればルールではなく目安として、
たとえば、1024x768の画面でVisualStudioのエディタ画面を最大化した状態で、
1画面に入ること、といった風に決めるかもしれません。
(もっと短いに越したことはないですが、あくまで最低ラインですので)
開発する対象によっては長くならざるをえないメソッドというものもありますので、
原則として守ること、という形にしますね。
(規約の行数だけを守るために下手な分割をされて保守性や可読性を落とされても困るので)

でも、本当は行数の多い少ないではなく、メソッドが単一の役割を負っているかどうかの方が重要だったりするので、
あまり行数ばかりを重視するのもどうかと思います。

> 色々と探索をしているのですが中々見つからず、VB.NETの知識がある方に聞いても「経験や勘でやっている」と言う状態ですので。。。

経験に基づくものでよいと思いますよ。ご自身の経験からでは最初に全部決められないのであれば、
最初は大枠だけの規約を作って、開発の進行と共にブラッシュアップしていくというのも手です。

引用返信 編集キー/
■34871 / inTopicNo.3)  Re[2]: VB.NETのコーディング規約について
□投稿者/ επιστημη (1878回)-(2009/04/13(Mon) 11:10:05)
επιστημη さんの Web サイト
2009/04/13(Mon) 11:25:32 編集(投稿者)

> 行数などの件については、このガイドラインには含まれて居ません。
> VisualStudioの上位エディションが使えるなら、コードメトリックスの計算の機能を使います。

うん、メソッドの行数にはそんなに意味なくて、たとえばloopも条件分岐も現れないメソッド
なら数百行続いてもどってことないわけで。
# とはいえひとつのメソッドであれもこれもそれもやってるよなのは分けるが吉ですけど

僕の感触だと「サイクロマティック数20以下」なんてなルールがいいように思えます。
※ サイクロマティック数はVisual Studio Team Systemで計測できます。
ご参考 → http://blogs.wankuma.com/episteme/archive/2009/02/27/168926.aspx

引用返信 編集キー/
■34874 / inTopicNo.4)  Re[3]: VB.NETのコーディング規約について
□投稿者/ biac (83回)-(2009/04/13(Mon) 12:05:40)
biac さんの Web サイト
> ○クラス ライブラリ開発のデザイン ガイドライン

私のところでは、 これに加えて、 コーディング規約の会のルール ( すでにかなり旧い )
http://www.objectclub.jp/community/codingstandard/
と、 チーム独自のルールをミックスして使っています。

で。 できるだけ FxCop に合わせてしまうのが楽です。
また、 FxCop のルールをカスタマイズすることも出来ます。 ( うちのチームでもカスタマイズしてあって、 コード分析の警告を潰していくだけで、 できるだけコーディング規約に則ったコードになるようにしています。 )
http://cs.gogo-asp.net/blogs/libaty/articles/150.aspx
> FxCopのカスタムルールを作成する


> メソッドの行数や、メソッドとシステム関数の呼び出しの数は何個まで等の規約をご存知の方はいらっしゃいますでしょうか?

コーディング規約の話からは外れますが…
プロジェクト (アセンブリ) ごとに、 参照設定してもよい名前空間を決めておくといいですよ。
ほっとくと、 循環参照しようとしたり、 ロジックのアセンブリが System.Windows.Forms を参照していたり… orz

引用返信 編集キー/
■34875 / inTopicNo.5)  Re[1]: VB.NETのコーディング規約について
□投稿者/ オショウ (148回)-(2009/04/13(Mon) 12:11:02)
> すべて規約に沿ってと言う訳ではないのですが、一つの規約として知っておきたいので、ぜひご存知の方はご教授お願いします。

  昔、コーディング規約を作るハメになって、なやんだこと
  あります。

  それにどこかにこれら掲示板でカキコした記憶あるんです
  が・・・

  一応、参考・・・

  http://www.objectclub.jp/community/codingstandard/

  まぁ〜コーディング規約が必要なのは、後々のメンテ性で
  『作った人ではない人』が手を入れないといけなくなった
  場合のメンテ性や、バグフィックスの為の手段だったりし
  ます。

  また、ドキュメントの喪失(紙媒体やデジタルファイル)
  対処として、仕様のすべてをソースコード中に記述すると
  言うメンテ性が損なわれても情報の喪失を防止すると言う
  ことを課してしるソフトメーカーさんもあります。

※ これには参りましたが・・・
  簡単な機能のソースコードででも、ドキュメント一式を
  コメントととして書き込むことで、コード行数が実プロ
  グラムのゆうに5倍に膨れました・・・
  問題が発生した場合、コードが見えない・・・

  何を目的とするかで方法(規約)が変化するので、よく
  お考えのほど。

以上。
引用返信 編集キー/
■34878 / inTopicNo.6)  Re[4]: VB.NETのコーディング規約について
□投稿者/ επιστημη (1879回)-(2009/04/13(Mon) 12:23:04)
επιστημη さんの Web サイト
> プロジェクト (アセンブリ) ごとに、 参照設定してもよい名前空間を決めておくといいですよ。
> ほっとくと、 循環参照しようとしたり、 ロジックのアセンブリが System.Windows.Forms を参照していたり… orz

あ、これは効きそう。Smart-UIアンチパターン避けにはよさげー。

引用返信 編集キー/
■34881 / inTopicNo.7)  Re[5]: VB.NETのコーディング規約について
□投稿者/ やじゅ (972回)-(2009/04/13(Mon) 12:30:43)
やじゅ さんの Web サイト
↓も規約に含めるといいかもね。

ソース修正の際に古いソースをコメントアウトするのはダメ?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=48779&forum=48&start=0
引用返信 編集キー/
■34883 / inTopicNo.8)  Re[2]: VB.NETのコーディング規約について
□投稿者/ よねKEN (315回)-(2009/04/13(Mon) 13:09:57)
> http://www.objectclub.jp/community/codingstandard/

お二方から挙がっている上記URLのコーディング規約ですが、
(既にご指摘の通り)あまりに古くて現状にマッチしない内容が多く、
VB.NET(及び.NET Framework)のバージョンアップの変遷を十分に熟知している方でないと
混乱の元だと思いますので、参考にしない方がよいかもしれません。



引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -