More Related Content
Similar to コーディングスタイル (6)
More from robotclub_kut (11)
コーディングスタイル
- 5. 関数、構造体が単一責務であり、的確に記述されている
関数や構造体も適当に作ってはいけません。
• (関数や構造体や変数などの) プログラムの単位が唯一の仕事を記述していること。
• 且つ、(なるべくなら) その仕事がそのプログラム単位内で記述されつくされていること。(=高凝集:
high cohesion)
• 同じ意図のものが重複して書かれていないこと。
• メソッド内が同じ抽象度の記述の集まりで構成されていること。
• メソッド内が、自然な粒度で記述されていること。 (話し言葉のように)
• ほどよい量 (記述が多過ぎない)
めんどいからあまり書かないけど構造化プログラミング、オブジェクト指向などを勉強してください。
C言語にはクラスがないのでインヘリタンス(継承)やポリモフィズム(多様性)を実現するのは難しい
(共用体、構造体、関数ポインタを駆使すれば出来ないこともない)けどカプセル化(実装とデータの
隠蔽)は実現できるのでがんばってください。(構造体を使いこなせるようになりましょう)
※インターフェースの意味が分かれば結構きれいな関数を作れるようになると思います。
- 6. 変数や関数をぱっと見で分かるように命名する
例えば a, b, c, tmp ,temp, foo, bar, hoge, piyo などの何のデータが入っているのか分からない
名前はやめましょう。 for文などのループ変数はi, j ,kなどの簡単なのでOKです。おすすめの命名規則
を紹介します。
キャメルケース
• アッパーキャメルケース(UCC)
複合語の先頭を、大文字で書き始める。主にtypedefの型名や構造体名に使うとよい。
例 typedef int HogeHoge; struct HogePiyo;
• ローワーキャメルケース(LCC)
複合語の先頭を、小文字で書き始める。主に変数名に使うとよい。
例 int hoheHoge; char piyoPiyo;
• スネークキャメルケース
アンダースコア“_”を区切記号として単語をつなげる。主に関数名に使うと良い。
例 int func_foo_bar(int a, int b);