ソフトウェアのソースコードに存在するバグの原因について100個のパターンについて紹介します。
プログラミングしたソフトがうまく動かないという経験はプログラマの多くが経験していることと思います。ソフトウェアのソースコードに存在するバグの原因について分析します。初歩的なバグから致命的なバグまで100個のパターンについてテーマ別に解説します。
JavaやC#のループ内におけるbreak文とcontinue文は、次の意味を持ちます。・break:ループから(ひとつ外側へ)脱出する。・continue:…
switch文(Java、C#、C)は複数の処理を分岐するときに使用します。注意しなければいけないのが、分岐処理はif文のように{}で囲む必要はなく、brea…
ソースコードの記述を間違うと、バグの発生につながる可能性が高くなります。本テーマでは、「コンパイルは成功するが、記述が誤っていたため、プログラムが正しく動作し…
Javaではfinal宣言されたメソッドはオーバーライドできません。コンパイルエラーとなります。[NG例][Java]public class Sample1…
戻り値のあるメソッドの処理で、return文が抜けているとコンパイルエラーとなります。[OK例][Java]public int max (int a, in…
変数をメソッドのように()をつけて呼び出してしまうことがあります。著者が経験したミスとして、Javaの配列のメンバ変数「length」を「length()」と…
JavaとC#では文字列(string)は「"(ダブルクォート)」で囲い、文字型(char)では「'(シングルクォート)」で囲います。stringなのに「'」…
インスタンス化できないクラスとして、 ・抽象クラス(abstract宣言されたクラス) ・publicコンストラクタがないクラスがあります。これらのクラスを強…
JavaとC#ではIF文の条件式の中は、boolean(bool)型にしなければなりません。以下のコードはコンパイルエラーとなります。int n = 0;if…
継承が禁止されているクラスを継承するとコンパイルエラーとなります。Javaでは、クラスにfinalがついていた場合、継承ができません。[NG例][Java]p…
「ブログリーダー」を活用して、inspectionさんをフォローしませんか?