プログラミングのスタイル

アバター
GRAM
記事: 164
登録日時: 14年前
住所: 大阪

プログラミングのスタイル

投稿記事 by GRAM » 14年前

最近の悩みそれはソースコードをどうやって書くかについて

第一に命名規則
自分は
定数、列挙子→全部大文字区切りはアンダーバー
クラス名→ClassName 
インスタンス、変数→enemyFighter のように最初小文字区切り後大文字
という風にしているのですが
①クラスのメンバ変数をm_fighterNameのようにするべきか・・・(よくそうしているのを見かけるため)
②関数内の引数を引数だとわかる名前にするべきか・・・(よく探すことになるため)
③クラス名AIManagerのような大文字が続くときにAI_Managerとしようか・・・(見栄えが悪いため)
④変数名pointerToInstanceのように前置詞が入る場合前置詞が大文字になるなんともいえない不快感を軽減するためpointer_to_Instanceとしようか・・・いやでもアンダーバーめんどくさいからやめようか・・・
というどうでもいい悩みが多く発生しています

そしてインデントとコメント

CODE:

MyClass* hoge = new MyClass;
if(hoge == NULL){                                                //クラスの作成に失敗したら
          exit( EXIT_FAILURE );                 //強制終了する
}
というようにコメントは右のほうにそろえてしかもifなどの後の”{”はすぐ横に書きたいのだが
よく本についているサンプルプログラムなどでは

CODE:

MyClass* hoge = new MyClass;
if(hoge == NULL)
{
          //クラスの作成に失敗したら
          exit( EXIT_FAILURE );                 
     //強制終了する
}
・・・こうなってる
まあ何でもいいのでしょうが、どうも多数派にあわせてしまいたいという意識が働くのでいつも「これでいいのか?」と思ってしまいます
(どれだけ小心者なんだ・・・)

アバター
ナムアニクラウド
記事: 16
登録日時: 14年前

Re: プログラミングのスタイル

投稿記事 by ナムアニクラウド » 14年前

参考までに自分のスタイルをば。
人の真似をしちゃうのも手ですね。

◆命名規則
  同じ感覚で扱えるものは似た命名規則にしてます。
  標準ライブラリの命名規則をいくらか真似してたりします。
  前置詞(toとか)が大文字になっても気にしない。
  To eat breakfast is important. って文法もありますし。

変数、仮引数、ポインタ、参照、インスタンス
  小文字。2番目以降の単語の頭文字は大文字。
  メンバにするときは最後にアンダースコアを付けます。
関数
  小文字。2番目以降の単語の頭文字は大文字。
  関数のアドレスを取得しようとすると普通の変数と区別が付きづらいので検討中。
クラス、構造体、共用体
  単語の頭文字が大文字。
名前空間
  小文字のみ。
  長いと識別子を呼ぶのが面倒なので1単語で済むよう務める。
定数、列挙子
  大文字のみ。区切りはアンダースコア。

シノニムと列挙体の命名規則は考え中。

◆コメントとインデント
  自分の場合は

CODE:

//いつでも
if( true )
{
	//処理する
	printf( "Hello, World!" );
}
 ってやります。
{}の形をこんな風にするのは、まっすぐな位置にカッコを置くとカッコの対応が分かりやすいからです。

長文失礼しましたー

アバター
GRAM
記事: 164
登録日時: 14年前
住所: 大阪

RE: プログラミングのスタイル

投稿記事 by GRAM » 14年前

>>ナムアニクラウドさん
コメントありがとうございます

なるほど、{}をあのようにするのは対応関係を見やすくするためですか!
なかなか納得のいく理由ですね。参考になりますm(_ _)m