Aritalab:Lecture/Programming/Style
From Metabolomics.JP
< Aritalab:Lecture | Programming(Difference between revisions)
(New page: ==Elements of Programming Style== ===プログラム設計の作法=== ; 目的別にディレクトリにまとめる : JavaでもCでも、関連する内容毎にディレクトリを...) |
m |
||
Line 2: | Line 2: | ||
===プログラム設計の作法=== | ===プログラム設計の作法=== | ||
− | ; | + | ; プログラムソースは目的別にディレクトリにまとめる |
: JavaでもCでも、関連する内容毎にディレクトリを作成する | : JavaでもCでも、関連する内容毎にディレクトリを作成する | ||
; オブジェクト指向で書く | ; オブジェクト指向で書く | ||
− | : Javaは半ば強制ですが、C++ | + | : Javaは半ば強制ですが、C++で書く場合も、処理をクラスにまとめましょう |
; サブクラスを無闇に作らない | ; サブクラスを無闇に作らない | ||
− | : サブクラス、特に多重継承(JavaであればInterface) | + | : サブクラス、特に多重継承(JavaであればInterface)は必要最小限にしましょう |
===各ファイル中での作法=== | ===各ファイル中での作法=== | ||
; インデントをいじらない | ; インデントをいじらない | ||
− | : | + | : 自分流のインデントだと、自分には見やすくても他人には見辛いものであることを意識しましょう |
; 変数は使う直前で定義する | ; 変数は使う直前で定義する | ||
− | : | + | : 各変数のスコープが小さくなるようにし、再利用は避けましょう。変数を再利用しても速度は殆ど向上しません。 |
; 値を変更しない変数や関数はfinal, constをつける | ; 値を変更しない変数や関数はfinal, constをつける | ||
− | : | + | : 1ヵ月後にプログラムを眺めても中身がすぐわかるように処理目的を書いておきましょう。 |
; ポインタの指す位置に注意する | ; ポインタの指す位置に注意する | ||
− | : C++ | + | : C++でもできる限りクラスの参照渡しを利用しましょう。ポインタを使わざるを得ない場合、ポインタ内のアドレスを弄らないようにしましょう。 |
; | ; |
Revision as of 17:24, 7 October 2010
Elements of Programming Style
プログラム設計の作法
- プログラムソースは目的別にディレクトリにまとめる
- JavaでもCでも、関連する内容毎にディレクトリを作成する
- オブジェクト指向で書く
- Javaは半ば強制ですが、C++で書く場合も、処理をクラスにまとめましょう
- サブクラスを無闇に作らない
- サブクラス、特に多重継承(JavaであればInterface)は必要最小限にしましょう
各ファイル中での作法
- インデントをいじらない
- 自分流のインデントだと、自分には見やすくても他人には見辛いものであることを意識しましょう
- 変数は使う直前で定義する
- 各変数のスコープが小さくなるようにし、再利用は避けましょう。変数を再利用しても速度は殆ど向上しません。
- 値を変更しない変数や関数はfinal, constをつける
- 1ヵ月後にプログラムを眺めても中身がすぐわかるように処理目的を書いておきましょう。
- ポインタの指す位置に注意する
- C++でもできる限りクラスの参照渡しを利用しましょう。ポインタを使わざるを得ない場合、ポインタ内のアドレスを弄らないようにしましょう。