Javaプログラミング作法 -Effective Javaで知るプログラミングの定石-
At a glance | |
---|---|
スケジュールと申し込み | |
コースコード | H2UT4S |
日数(開始時間~終了時間) | 2日間(9:30~17:00) |
実施方法 | ・クラスルーム(泉岳寺) |
受講料 | 90,000円 (税込み:99,000円) |
コースの概要
Stringを==演算子で比較していませんか? equals()メソッドは実装したけど、hashCode()メソッドは実装し忘れていませんか? Javaプログラミングにおいて、「読みやすく」「わかりやすく」「誤りに陥りにくい」コーディングを行う事は品質の高いプロフェッショナルな仕事を行う上で重要です。 このコースは、脱初心者を目指す方のために、書籍「Effective Java」などからのノウハウや、OSSのバグコード検出ツール「FindBugs」も講義の中で使用いたします。ソースコードの品質に日々悩んでおられる方にも参考になる講座となっております。
(研修の目的)
- Javaプログラミングにおいて、コーディングルールに則ったコーディングを行うことができる。
- コードインスペクションツールを使って誤りのあるコードを見つけることができる。
- メモリを意識したプログラミングができる。
- コレクションフレームワークの特徴を理解し、上手に使いこなすコーディングができる。
- 例外と直列化における注意点を理解することができる。
主な対象者
- 基本的なJavaプログラミングはできるが、脱初級者を目指したい方
- ソースコードレビューができるスキルを身につけたい方
前提知識
- 基本的なJavaプログラミングができること
- 基本的なJavaクラスライブラリを利用できること
コースの説明
・ FindBugs
-バグコード検出ツール「FindBugs」
-コードインスペクション
-FindBugs CUI/GUIモード版
-FindBugs Eclipseプラグイン版
-バグのレーティングとカテゴリ
-演習 FindBugsのインストールと実行
・ コーディングスタイル
-コーディング規約
-全体として(メトリクスに関する規約)
-インデント(字下げ)
-命名規則
-制御構造(if,else,for,whileなど)
-import
-コメント
-空白文字を入れるポイント
-その他、全般
・ Eclipseの便利な機能を使う
-コード・フォーマッター
-エラー/警告の設定
・ 陥りがちな落とし穴
-Stringを==で比較してしまう
-フィールドをハイディングしてしまう
-クラスの循環依存関係
-演習 クラスの循環依存関係
・ メモリを意識する
-無駄なインスタンス生成
-無駄なインスタンス生成の可能性
-JVMのメモリ管理(heap領域)
-明示的なガベージコレクションの呼び出し
-ガベージコレクションの対象にする
-ファイナライザ
・ 上手にコレクションを使い分ける
-ArrayList vs LinkedList
-Stack vs LinkedList
-HashMap vs TreeMap vs LinkedHashMap
-java.util.concurrentパッケージの並行処理対応コレクション
-Iterator、そしてIterableと拡張forループ
-コレクションから取得した要素は参照渡し
・ コレクションの要素となるJavaBeans
-コレクションの要素となるJavaBeans
-JavaBeansの基本
-コレクションに格納した要素が取得できない
-オブジェクトの「同一」と「等価」の違い
-equalsとhashCodeはセットでオーバーライドする
-要素をソートするコレクション(Comparable/Comparator)
-不変オブジェクト
-toStringメソッドのオーバーライド
-演習 コレクションの要素となるJavaBeans
・ 例外処理
-finallyブロック
-例外によるリソースリーク
-例外の種類(チェックされる例外、実行時例外、Throwable/Error)
-例外の濫用
-むやみに例外サブクラスを作らない
・ 直列化(シリアライゼーション)
-Serializableインターフェースの実装
-Servlet APIでの作法
・ enum
-enum導入前の「int enumパターン」の欠点
-enumクラスのコンストラクタとメソッド
-enumの使い方
-ordinalメソッドは使用しない
-シングルトンクラスをenumで実装する
-演習 シングルトンクラスをenumで実装する
・ Orverrideアノテーション
-常にOrverrideアノテーションを使用する
-Java5とJava6との相違
実行環境
Java6以上、Eclipse 3.x以上、Tomcat6以上
※使用ソフトウェアは変更になる可能性があります。
※本コースは株式会社カサレアル主催コースです。