Your project will be made success by this platform.

バグを生まないコーディング方法とは

予定日:2020年12月29日(火)

プログラム開発者にとって厄介なつきものが「バグ」でして、如何にしてバグをなくすかが品質を向上するために重要となります。

 

バグを生む原因として下記のような原因がありますが、今回はその中でもコーディングが原因でバグが発生する要因を考えてみます。

・要件漏れ

・コーディングミス

・機能習熟不足

・テスト不足

 

プログラムを作る際には開発者がコードを書いていくわけですが、その書き方は人それぞれで、開発者の経歴や使用してきた言語や参画したプロジェクトによって千差万別です。

 

本来はプロジェクトごとにコーディング規約を策定しているところもありますが、そこまで整備されていない場合もあるため、ある種のコーディングの標準規格のようなものがあると良いですよね。コーディングは多国籍で行われる場合もあるため、その地域の習慣によっても違うようです。

 

フラグを使ってif文の条件を明確化

先の画像のように、if 文を記述する方法も色々な組み合わせがあります。if 文の条件部分に複数の条件を結合して記載することもできます。しかし、このように複数の条件を記述するのは可読性が下がり、バグを生みやすい原因を作ってしまいます。

 

if 文をひとつのフラグ変数を使用することで可読性を上げ、間違いを少なくすると上記のようなコードになります。

コーディング行数が伸びますが、どの様な条件のときに処理を行うのかが明確になります。

また、上記のコードに条件を追加する場合などもどこに追加すればよいのかがはっきりと分かるため、メンテナンス性も向上します。

 

細かい点では「 if 文は必ずブランケット { } をつける」や「フラグを判定する場合は必ず true または false 」をつけるという点もあります。

 

if 文は必ずブランケット { } をつける

ブランケットは処理の区切りとなりますが、処理が1つの場合はブランケットを省略することができます。しかし、最近では Python などは構文上ブランケット自体がなくインデントで条件配下の処理をグループ化するため、PythonとPHPを同時に書いている場合は混乱して間違いも多くなります。if 文の適応範囲を明確にするためにも必ずブランケットはつけましょう。

 

フラグを判定する場合は必ず true または false

また、フラグ判定の際に ( $blnFlag ) のみでも判定できるのですが、( $blnFlag == true )の方が条件が明確になりますし、( ! $blnFlag ) と書くよりは ( $blnFlag == false ) とする方が間違いが少なくなります。

 

ひとつひとつのことを細かく積み上げていくことで品質を改善する事ができるので、是非チャレンジしてみてください。

 

ナビゲーター

石田芳輝
プロジェクト・クルーザーの運営事務局の石田と申します。 皆様の使いやすいシステム開発と、安心で安全なプラットフォームの運営を行っています。 ご要望やご意見などお問い合わせフォームからお送り頂けますと幸いです。
関連キーワード
条件 (8)
if (7)
文 (7)
パグ (6)
コーディング (6)
ブランケット (6)
フラグ (5)
blnFlag (4)
原因 (4)
false (3)



おすすめコンテンツ