【プログラム】良いプログラムを書くために... ~ コーディング編 ~

■ 変数

スコープは狭くする

以下のように、変数のスコープはできるだけ狭くするといい。

ブロック内のローカル変数
 => メソッドのローカル変数
  => private 変数 
   => protected変数
    => public変数
メリット
 * 一度に注意しておくべき事項が減り、理解の助けになる
 => プログラムの変更時に間違いを犯す可能性も減少する

変数宣言は、最初に利用される場所の近くでする

メリット
 * プログラムの理解し易くなる
 * バグを混入させる危険を狭めることができる
 * リファクタリング時にメソッドとして抽出することも楽に行える

変数名は、何を表すものかを説明する名前をつける

 * 変数名だけでなく、クラス名やメソッド名など、何を表すものかを説明する名前をつける方がいい。
メリット
 * プログラムの理解し易くなる
 => 理解しやすい名前を付けておくことで保守にかかる時間が短くて済む
ネーミング注意点
 * 省略語は使わない
 * 名前に数字を使わない (X : name1, num1 / O : name, number)
 * あいまい・抽象的な名前はつけない(X : flag / O : isDone)

■ コメント文

 * 以下の関連記事を参照のこと
http://blogs.yahoo.co.jp/dk521123/34015950.html

■ if文

if文の条件は、かっこを使って可読性をあげる

サンプル:うるう年
[NG]
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)

[OK]
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))

■ クラス

できるだけオブジェクト間の関連を少なくする

http://itpro.nikkeibp.co.jp/article/COLUMN/20051123/225074/?ST=develop

適切なクラスに適切な責任を割り当てる

 * オブジェクト指向設計の基本とは、適切なクラスに適切な責任を割り当てる
http://www.atmarkit.co.jp/fdotnet/designptn/designptn02/designptn02_02.html

関連記事

C#】コーディング規約

https://blogs.yahoo.co.jp/dk521123/28877963.html

VB】コーディング規約

https://blogs.yahoo.co.jp/dk521123/25331012.html
https://blogs.yahoo.co.jp/dk521123/25354394.html#25354451

良いプログラムを書くために...~有名な言葉~

https://blogs.yahoo.co.jp/dk521123/34022115.html

コメント文があった方がいいプログラム・パターンを考えてみる

https://blogs.yahoo.co.jp/dk521123/34015950.html