戻る


本ドキュメントの目的

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形式

public string Name;

いろいろ派閥があるようだが…
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型の変数を定義する場合は、フィールド変数、ローカル変数の規約に依存する。


局所変数(メソッド内変数、ローカル変数、auto変数)

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

 

 


戻る