中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

コーディング規約について考えてみる

みなさんもある一定程度の規模の開発になるとコーディング規約などがあると思います。

まぁ作る側なわけですが、今まで何度となく作ってきたのですが、今回は結構悩んでいます。

昔作ったのはバリCのコーディング規約で、変数名の付け方から、ブレースの置き方からいろいろ考えました。

ある程度の効果はあって、大体似たソースが出来てきたのでまぁ読みやすかったかもしれません。

そのシステムはすでにリプレースされて、使われていませんが。

さて今目の前にはC#があります。日本語名称は使うなとかいろいろあるんですが、その中でもどうでもいいとしか思えない(けど昔なら決めたかな)ってことが色々あります。

usingの順番

usingの順番なんて物に意味はないのと、Resharperなんかでざくっと変わってしまうので、コーディング規約としてははずしました。

コードブロックの順番

メンバ、プロパティ、メソッドの順に~とかって果たして今の開発環境で意味があるのかと思うことしきりです。

プロパティにセットであるメンバなんて同じところに書いて、同一Regionに埋め込んでしまいたいわけです。

インターフェイスによるMixin

小規模なMixinなので、手作業でインターフェイスを継承させてやってますが、こんなのは頭でまとめて書いておきたいわけです。

C#だと表現的な違いは色々あれど大体がメソッドで、メンバだけを一カ所に固める意味もほぼなく、これにあわせて書くと逆にあとで見にくくなると思います。

このあたりの概念だけ語って、”適切にコーディングするように”と書いてちゃんと書けるメンバーがそろうか、実は開発メンバーが全くわからない状況で苦悶しています。

どうすっべかなー

投稿日時 : 2007年10月16日 11:55

コメントを追加

# re: コーディング規約について考えてみる 2007/10/16 12:03 じゃんぬねっと

コーディング規約は細かいところをしっかり書いておかないと妙な解釈をされますし、あまり細かすぎると読んでくれないしやりにくいと言われるので難しいところです。

私もメンバ同士は意味のある固まりを求めますが、順番もある程度決めています。

プロパティとセットになっているフィールドは当然固まりにします。
アクセス修飾子ごとで固まるようにします。
メソッドで固まるようにします。
プロパティとフィールドで固まるようにします。

で、これ、固める = 順番も決まってしまうのですよね。
フィールド + プロパティがセットになってしまっているので。

# re: コーディング規約について考えてみる 2007/10/16 12:04 じゃんぬねっと

簡単にいえば NCL の定義 (メタデータ) を見た時の順番に似たりよったりになるってことです。

# re: コーディング規約について考えてみる 2007/10/16 12:06 まどか

> メンバ、プロパティ、メソッドの順に~とかって果たして今の開発環境で意味があるのかと思うことしきりです。

私は業務機能よりそっちのほうが慣れてますねぇ。
で、Publicなやつを一番上に。

> プロパティにセットであるメンバなんて同じところに書いて、同一Regionに埋め込んでしまいたいわけです。

これも同じくプロパティ専用変数なんでおっしゃるようにくっつけて書いてます。
あとPublicから呼ばれるセットのPrivateな再帰処理等もくっつけてます。

# re: コーディング規約について考えてみる 2007/10/16 12:17 かつのり

Javaの話になっちゃいますが、
Eclipseならメンバのソートもフォーマッティングも自動でできるし、
規約チェックやバグパターン検出もプラグインで大体できるので、
殆どIDE任せですね。あまり規約書は書かないです。

警告やエラーが出ないようにコードを書けば、
大体コードの品質が統一されていきます。
コードメトリクスを計測して閾値を超えているかの検査もできます。

多分、コーディング規約書が単に開発ツールに組み込まれているだけなので、
文書を読みながら各自守るのか、自動的に検出されるのかの違いですね。
やっていることは多分同じです。

# re: コーディング規約について考えてみる 2007/10/16 14:02 渋木宏明(ひどり)

WinForms の場合、イベントハンドラは最後尾に書かせるようにした方がいいと思います。

IDE が末尾に追加しようとしやがるので (^^;

# re: コーディング規約について考えてみる 2007/10/16 14:11 επιστημη

> IDE が末尾に追加しようとしやがるので (^^;

しやがりますねぃ。
なので

void xxx_Onなにやら() {
 なんかいろいろごしょごしょする...
}

じゃなくて

void xxx_なんかする() {
 なんかいろいろごしょごしょする...
}

// イベントハンドラのナカミはメソッド呼び出し一行
void xxx_Onなにやら() { xxx_なんかする(); }

...ってすることが多います。

# re: コーディング規約について考えてみる 2007/10/16 23:50 やまだ

>usingの順番
同名クラスが複数の名前空間にある場合、上から順にマッチさせる、という仕様じゃなかったでしたっけ?
それはJavaだけの話?
紛らわしいクラス名付けんなーっ、って命名規約が徹底されているとOKってことですかねぇ。
でも、Javaだとシステムのクラスでも同名がやたら多かった気がしますが。

# re: コーディング規約について考えてみる 2007/10/16 23:56 中博俊

そうですね。.NETでは別名を付けろ(using)。名前空間解決演算子(だったよね~::のことです。)で解決する問題ですね。
私は紛らわしいクラス名どんとこいですがね。

# re: コーディング規約について考えてみる 2008/11/24 10:07 仕様書担当です

http://www.hotdocument.net/faq/man.html
知り合いの会社で使っている規約です。
もし、良かったら参考にしていただければと思います。
ドキュメント自動生成ツール【A HotDocument】のルールみたいです。
http://www.hotdocument.net/

# GoWHXqtMqwuMY 2014/08/28 8:51 http://crorkz.com/

D3HqSD We stumbled over here from a different web address and thought I might check things out. I like what I see so now i am following you. Look forward to finding out about your web page repeatedly.

# zXaFZzvquzPm 2014/09/02 19:17 http://www.botaniquebartley.info/

you've got an incredible weblog here! would you prefer to make some invite posts on my blog?

# gQWooKNqLsafh 2014/09/03 20:13 https://www.youtube.com/watch?v=ietNoQGnfas

I have learn some good stuff here. Certainly worth bookmarking for revisiting. I wonder how so much attempt you set to create this type of fantastic informative web site.

# lsauZSJMNcV 2014/09/16 18:27 https://www.youtube.com/watch?v=6BlpsZ7LHRQ

you've an important blog here! would you like to make some invite posts on my blog?

# Marvelous, what a blog it is! This website gives helpful information to us, keep it up. 2019/04/11 12:55 Marvelous, what a blog it is! This website gives h

Marvelous, what a blog it is! This website gives
helpful information to us, keep it up.

# Hey there! I just wanted to ask if you ever have any trouble with hackers? My last blog (wordpress) was hacked and I ended up losing several weeks of hard work due to no backup. Do you have any methods to prevent hackers? 2019/08/15 8:22 Hey there! I just wanted to ask if you ever have a

Hey there! I just wanted to ask if you ever have any trouble
with hackers? My last blog (wordpress) was hacked and I ended
up losing several weeks of hard work due to no
backup. Do you have any methods to prevent hackers?

# Hey there! I just wanted to ask if you ever have any trouble with hackers? My last blog (wordpress) was hacked and I ended up losing several weeks of hard work due to no backup. Do you have any methods to prevent hackers? 2019/08/15 8:23 Hey there! I just wanted to ask if you ever have a

Hey there! I just wanted to ask if you ever have any trouble
with hackers? My last blog (wordpress) was hacked and I ended
up losing several weeks of hard work due to no
backup. Do you have any methods to prevent hackers?

# Hey there! I just wanted to ask if you ever have any trouble with hackers? My last blog (wordpress) was hacked and I ended up losing several weeks of hard work due to no backup. Do you have any methods to prevent hackers? 2019/08/15 8:24 Hey there! I just wanted to ask if you ever have a

Hey there! I just wanted to ask if you ever have any trouble
with hackers? My last blog (wordpress) was hacked and I ended
up losing several weeks of hard work due to no
backup. Do you have any methods to prevent hackers?

# Hey there! I just wanted to ask if you ever have any trouble with hackers? My last blog (wordpress) was hacked and I ended up losing several weeks of hard work due to no backup. Do you have any methods to prevent hackers? 2019/08/15 8:25 Hey there! I just wanted to ask if you ever have a

Hey there! I just wanted to ask if you ever have any trouble
with hackers? My last blog (wordpress) was hacked and I ended
up losing several weeks of hard work due to no
backup. Do you have any methods to prevent hackers?

# ロレックス 中古 大黒屋 2022/08/31 9:36 yejyrsu@softbank.jp

信じてよかったです。
本当にありがとうございました。
エルメス 時計 ケリー2 KT1.230 Q刻印 SS 白文字盤 4Pダイヤ クォーツ レディース 新品 ケリーウォッチ ブラック 婦人 女性 HERMES
最高(^^♪
元値が高価商品のモノだったので悩みましたが、信じてよかったです。気に入ってます🎵
ロレックス 中古 大黒屋 https://www.kopijp.com/product/detail.aspx-id=6218.htm

タイトル
名前
URL
コメント