こんにちは!
プログラミングを勉強すると「for文」と「while文」を学ぶと思います。
ただどういう時に「for文」を使って、どういう時に「while文」を使うかについては書かれていません。 で、
今回は前任者のコードを読んでいて気づきがあったので書いておこうと思います。
イケてないfor文は可読性が低い
イケていないコードの例は↓になります。
for (i = 1; i < 1000 ; i++)
{
if (i % 3 == 0 ) {
printf('3で割り切れる');
}
}
まず、何で1000回ループ処理をさせているのか分かりません。
コーディングした時点ではコードの意味が分かりますが、
後ほど自分や他人が読んだときに何でこの実装をしたのかがわからなくなります。
論理的な文からコーディングを行うべし
人間が解釈できる「論理的な文からコーディングを行うこと」が重要になってくると考えています。
とにかく日本語や英語からコーディングを行うことに意識しましょう。
詳細の説明は省きますが、
for文とwhile文でcontinue文とbreak文の処理が大きく変わる部分で不具合を起こすポイントです。
for文はコーディング時に長くなりがち
for文でコーディングをするとコードが長くなりがちです。
なるべくコードをシンプルに短く記述するためにfor文を使用しないことは重要になります。
for文は回数の繰り返しに使用する
私の中の結論ですが、for文は回数の繰り返しに使用することが分かりやすいと考えています。
使いどころとしては、
- 単純なカウントアップ
- 規定回数何らかの処理を行う
- 配列内すべてのデータを確認・操作する場合
ぐらいになるのでしょうか?あくまで主観ですがfor文よりもwhile文を使う場合の方が多い気がします。
またfor文でコーディングを行うとシンプルになる場合も使用するべきでしょう。
プログラマーなら一度はコードコンプリートを読もう!
プログラマーなら一度はコードコンプリートは読むべきですね。
私は大学生の時に英語版で一度読みました。
今となっていは良い経験です。
ちなみに日本語版があるでぜひ読んでみてください。おススメです。

コードコンプリート(下)第2版posted with ヨメレバ
スティーヴ・マコネル/クイープ 日経BPマーケティング 2005年03月

コードコンプリート(上)第2版posted with ヨメレバ
スティーヴ・マコネル/クイープ 日経BPマーケティング 2005年03月