MW211 EXIT

devlog
ルール
2014年08月03日
【プログラムの集団開発をする上での基礎知識と最低限のコーディングルール】
  □構造化プログラミングを理解すること
    □基本的にgoto文を使わないこと
    □順次・反復・分岐を理解すること
    □continue文などの特殊脱出文の位置づけを認識すること
    □著名な標準規格をできるだけ多く理解すること(C言語の場合はMISRA-Cなど)
  □変数のスコープをできるだけ狭くすること
    □グローバル変数を濫用しないこと
    □C言語のグローバル変数および関数について、
      externおよびstatic修飾子を適切に付与すること(省略しないこと)
    □C言語のexternグローバル変数を宣言するヘッダファイルについて、
      適切にインクルードすること(濫りにインクルードしないこと)
    □C言語の変数について、const修飾子を適切に付与すること(省略しないこと)
    □オブジェクト指向言語のクラス内メンバ変数について、
      publicやprivateなどのアクセス修飾子を適切に付与すること
    □オブジェクト指向言語のpublicメンバ変数は極力使用せず
      getterメソッド等他の手段を使用すること
  □バージョン管理ソフトを使用できること
    □CVS
    □Subversion
    □Git
  □プロジェクト管理ソフトを使用できること
    □Redmine
    □Trac
  □その他
    □文字コード・改行コードは統一すること
    □不要な全角スペースは除去(半角スペースに置換)すること
    □不要な行末尾のスペース類は除去すること
    □if文の波括弧{}は省略しないこと(swiftの仕様より)
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
【冗長的なコーディングルール】
  →こだわり過ぎると開発の障害となる(場合によっては宗教論争)ので
    思い切って切り捨ててしまった方が逆にいいかもといったルール(楽市楽座的な話)
  □命名規則を統一すること
    ・略字のルールを統一して命名台帳を設ける
    ・ハンガリアン記法を禁止する
    →命名に躊躇して処理作成に集中できなくなる
  □字下げやスペースの空け方やタブの使い方を統一すること
    ・制御文や関数の波括弧{}の前で改行するか否かを統一する
    →記法に躊躇して処理作成に集中できなくなる
  □大文字・小文字・キャメル文字の使用ルールを統一すること
    ・特に小文字のみとローワーキャメル文字を混在しないようにする
    →外部関数などの影響もあり完全な統一は難しくなる
  □switch文におけるcase節の字下げを統一すること
    ・case節をswitch文と同列にするかもしくは一段下げるかを統一する
    →if文との比較から同列が妥当だが、一段下げた方が見やすい(PHP)
  □カンマ区切り記述で最後に余計なカンマを許容しているものでも
    カンマを記述しないこと(もしくは一律記述すること)で統一すること
    ・C言語のenum文やPHPの配列定義など
    →一律最後にカンマを付けて改行にすれば行の入れ替えが容易だが
      余計なカンマを許容しないものとの統一感がなくなる
  →命名や記法については後で一括して置換するかツールで強制的に行うなら別だが
    開発者個々人に都度強制するのは逆効果になる
分類:設計