[Java][NetBeans]FindBugsを使ってコーディング中にバグを取りやがれ!

 

 

こんにちは。ナガオカ(@boot_kt)です。

 

FindBugsを知っていますか?

FindBusは静的解析ツールです

コンパイルは通るけど、動かすとエラー(バグ、不具合)になるような( or なりそうな)箇所を教えてくれます

使う手間はかかりません

絶対に使いましょう!
使わない理由が全く無いです!

この記事のザックリした内容
◆対象読者

  • NetBeans IDEを使っている人
  • Eclipse、IntelliJ IDEA、Hudson、Jenkinsを使っている方にも参考にはなります
  • Javaプログラマ

 

◆解決できるかも知れないお悩み

  • NetBeans用のFindBugsのプラグインのインストールと使い方と設定

 

 

 

 

初心者はFindBugsを絶対に使え! いや、上級者ほど必要だな

 

この手の本でJavaを勉強を始めたあなた!

最近はそれなりにJavaを書けるようになってきた

 

・・・でも、不具合に悩まされることが多くないですか?

しかも、なかなか不具合原因が分からない!

 

で、不具合原因が判明したら、変数の初期化漏れ(未初期化変数を参照していた)とかというしょーーーもない理由だったってことありませんか?

いや、ありますよね!!!(笑)

FindBugsを使えばしょーーもない不具合の原因になりそうな箇所をコーディング中にしてしてくれますよ!

 

FindBugsを使わない理由があるのか!?
いや、無いっっっ!

統合開発環境のプラグインとして使うと、ソースコードを書いている段階でチェックしてくれます
「ここの書き方おかしいよ!」ということで何かしらのマークをソースコード上に出してくれるのですぐに分かりますし、すぐに直せます

こういうのは気付くのが早ければ早いほどいいです
後で見つかると直すのが超メンドクサいもんなんです(笑)

また、人間の見た目にはその間違いが分かりにくいことがありますが、それをすぐに指摘してもらえるので、しょーーーもない不具合が減ります!

絶対にFindBugsは使ってください!

使わない理由は全く無いです!

 

FindBugsはプラグインで使おう!

FindBugsの単体アプリは公式サイトからダウンロードできます

しかしっ!

FindBugsはコマンドラインとして単体で使うことができますが、それよりも、統合開発環境に組み込んで使う事をオススメします!

この記事ではNetBeansを取り上げていますが、Eclipse、IntelliJ IDEA、Hudson、Jenkinsでもプラグインがあるはずですのでぜひ使ってみてください!

プラグインのダウンロード
プラグインのダウンロードは各環境で違いますので各自でお調べください
この記事ではNetBeansのみを対象としています

 

NetBeans用プラグインのインストール

メニュー → ツール(T)プラグイン(G) → プラグイン画面の使用可能なプラグインFindBugs Integration

からインストールできます

netbeans ide findbugs netbeans ide findbugs netbeans ide findbugs netbeans ide findbugs netbeans ide findbugs

 

使い方

メニュー → ソース(S)検査(E)... → 検査画面の構成

で、FindBugsすべてのアナライザを選択して、検査ボタンをクリックしてください

netbeans ide findbugs netbeans ide findbugs

そしたら、こんな感じで検査結果が出ます
赤い虫の部分がFindBugsが検出してくれた内容です
NetBeansはFindBugsが無くてもある程度は検出してくれますが、FindBugsは更に細かい部分も見てくれます

netbeans ide findbugs

この設定もやっておきましょう

とは言え、毎回メニューから検査(E)...を選択するのは面倒です
プログラマを書いている時に指摘が欲しいので、この設定をしてください

メニュー → ツール(T)オプション(O)エディタ言語(L):FindBugs 選択 → Run FindBugs in Editor のチェックをON → OK ボタンクリック

netbeans ide findbugs netbeans ide findbugs

 

 

広告




 

さいごに、

プログラムというのは文法に間違いはなくても、ゼロ除算とか、未初期化変数の参照とかのように実行させて初めて分かるエラーもあります

また、書くだけ書いておいて動かないものもあります(例外をnewしてるのにthrowしてないとか、変数を使用していないとか)

必ず通るコードは不具合を見つけやすいですが、滅多に通らないコード(エラー処理とか)は不具合を発見しにくいです

そういうのをFindBugsが発見してくれることがあります

マジで、導入しない理由が無いんです!!

絶対にFindBugsを使いましょう!

 


 

プログラミング のレッスンに興味がある方、レッスン内容を聞いてみたい方、なんなりとお問い合わせください。
無料体験レッスンもありますのでお気軽にどうぞ!!!

 

 

参考書籍

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

Windows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。