本ドキュメントの目的
C#実装に於いての、社内標準コーディング規約を定める事を目的とする。
参考にした情報
.NET Framework 開発者ガイド クラス ライブラリ開発のデザイン ガイドライン
http://msdn2.microsoft.com/ja-jp/library/ms229042.aspxオブジェクト倶楽部 コーディング規約の会 C#コーディング標準
http://www.objectclub.jp/community/codingstandard/C# のコーディング規則 | Microsoft Learn
https://learn.microsoft.com/ja-jp/dotnet/csharp/fundamentals/coding-style/coding-conventions
名前空間
大きいグループ→小さいグループ…の順
<会社名>.(<製品名>|<プロジェクト名>|<テクノロジ名>)[.<機能名>][.<サブ名前空間>]
using CompanyName.ProjectName..FeatureName.SubNameSpace
クラス
アセンブリの外に公開しないクラスは、必ず internal を 宣言すること。
クラス名は、名詞句である事が望ましい。
パスカル形式であること。
internal class IniFileHandler
派生クラスの名前は、末尾に基本クラスの名前を付けるよう考慮すること。
メソッド
メソッド名は、動詞句であること。
メソッド名は、パスカル形式であること。(Javaはキャメルだけど…)
パラメタ名は、キャメル形式であること。
/// <summary>
/// 名前を格納する
/// </summary>
/// <param name="name">名前</param>
public void SetName(string name) {
//…ホゲホゲ
}
定数
大文字 ブランク区切りであること。
public const int MAX_VALUE = 100;
※ const を つけると、static となる事に留意
フィールド変数(インスタンス変数/クラス変数)
原則 private とする。公開する必要が有る場合は、プロパティを用いるべし。
private Camel形式
private
string countryID;private以外 Pascal形式
string Name;public
いろいろ派閥があるようだが…
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconfieldusageguidelines.asp
http://msdn2.microsoft.com/ja-jp/library/ms229057.aspx
列挙型
Pascal形式とする。内部のメンバもPascal形式である。
enum CalculateFunction {
None,
Add,
Minus,
Divide,
Multiplier,
}
enum型の変数を定義する場合は、フィールド変数、ローカル変数の規約に依存する。
Camel形式であること。
意味のある名前にすること。ただし、for文内で用いる場合は、i なども 良しとする。
大文字小文字の使用スタイル 識別対象 形式 例 名前空間 Pascal System.Drawing クラス Pascal AppDomain インターフェイス Pascal IDisposable 列挙型 Pascal ErrorLevel 列挙値 Pascal FatalError メソッド Pascal ToString イベント Pascal ValueChange プロパティ Pascal BackColor 読み取り専用の静的フィールド Pascal RedValue フィールド変数 _Camel _redValue パラメータ(引数) Camel typeName 局所変数 Camel redValue 例外クラス Pascal WebException 定数 大文字形式 MAX_VALUE http://sonic64.com/2005-09-13.html
http://www.prime97.co.jp/column/csVol1_1.html
|
プロパティとメソッドの使い分けについて
http://msdn2.microsoft.com/ja-jp/library/ms229054.aspx