2012-08-01から1ヶ月間の記事一覧
パンくず 書籍 パーフェクトJava リフレクション オブジェクトの生成と操作 概要 Javaのリフレクションのオブジェクトの生成と操作について。 オブジェクトの生成 以下の2つの方法でインスタンスの生成が可能です。 ClassクラスのnewInstanceメソッド Constr…
パンくず 書籍 パーフェクトJava リフレクション 型情報の取得 概要 Javaのリフレクションの型情報の取得について。 内容 インターフェースか判断 isInterface配列か判断 isArray基本か判断 isPrimitiveenumか判断 isEnum※その他詳細はサンプルコード参照 サ…
パンくず 書籍 パーフェクトJava リフレクション 概要 Javaのリフレクションについて。 リフレクションとは実行中に型情報を取得し、 型そのものを操作対象とする仕組み。 Classクラス Classクラスは、型情報を保持するクラス。 フィールド一覧やメソッド一…
パンくず 書籍 パーフェクトJava パッケージ 概要 Javaのパッケージについて 単一インポート 個別に型指定したインポート。 オンデマンドインポート アスタリスクを使用したインポート。 パッケージ以下の全型名を単一インポートするのと同じ。 インポートの…
パンくず 書籍 パーフェクトJava ジェネリックス 概要 Javaのジェネリックスについて パラメータ化された型 ジェネリックスのインスタンス 型変数 ListのEに当たる部分 型引数 ListのStringに当たる部分 型変数名の慣例 変数名 由来 E element K key V value…
概要 レビュー指摘「不要な分岐」について ※Javaの話です 内容 私が実際に指摘した「不要な分岐」について。 コードを見ていただくのが手っ取り早いかと思います。こういうコードを書くJava開発経歴10年のプログラマーとかが 居たりするのが日本の開発現場の…
概要 レビュー指摘「不適切な命名」について ※Javaの話です 内容 「不適切な命名」のコードは可読性が下がります。 項目 内容 不適切な理由 汎用的な名前 param,obj等広い意味を表す名前 用途を読み取れない 日本語のローマ字読み helloではなくkonnichiwa等…
概要 実際にレビューで指摘した事項についてまとめる。 実務でどのような「好ましくない」コードが作成されるのか、 という情報を元にレビューの視点や規約化などに活かすことを目的とする。随時更新 Javaのレビュー指摘 変数名関連 ※頻度は指摘頻度です。 …
パンくずリスト アート・オブ・コミュニティ 風通しの良いコミュニケーション 概要 風通しの良いコミュニケーションについて コミュニケーションの手段 コミュニケーションの分類 ・受信のためのコミュニケーション ・発信のためのコミュニケーション ・内部…
概要 レビュー指摘「マジック分岐」について ※Javaの話です 内容 自分が独自に定義した数値に意味を持たせて 自分にしか分からない分岐を作成すること。 サンプルコード package review.ex3.magic_branch; public class MusicPlayer { enum MusicType { JPOP…
パンくず Java 複数のデータクラスをマージするツール 概要 複数のデータクラスをマージするツールについて 要件 ・複数のデータクラスを指定可能 ・除外名のリストに設定した項目はマージ対象外 ・分離名のリストに設定した項目は名称+データ型名に名前を…
パンくず 書籍 パーフェクトJava スタックトレース 概要 Javaのスタックトレースについて Javaのスタックトレース 以下の構文でStackTraceを取得出来ます。 Thread.currentThread().getStackTrace() サンプルコード 1階層目 package perfect.trace; public c…
概要 jQueryで全ての入力欄にCSV形式のデータを設定します。 想定される用途 テスト画面に繰り返しデータ入力を行うケース。 大量の入力欄に同じ内容を何度も入力するのは馬鹿馬鹿しい。 作業の日をまたぐ場合など、入力内容を保存してすぐ再現したい場合な…
概要 jQueryで全ての入力欄にCSV形式のデータを設定します。 想定される用途 テスト画面に繰り返しデータ入力を行うケース。 大量の入力欄に同じ内容を何度も入力するのは馬鹿馬鹿しい。 作業の日をまたぐ場合など、入力内容を保存してすぐ再現したい場合な…
パンくず 書籍 パーフェクトJava 配列 概要 Javaの配列について Javaの配列 Java配列はオブジェクトです。初期化時に{}を使用した場合、最後のカンマを残しても問題ありません。 これは、Javaのコードを生成する場合に楽をできる要素なのです。例えば System…
パンくず 書籍 パーフェクトJava コレクションの技法 概要 Javaのコレクションの技法について Javaのコレクションの技法 関数的なコレクション コレクション自体を変更せず、あらたなコレクションを返却する。 破壊的なメソッド、副作用のあるメソッドは使用…
概要 現実の開発現場で「環境自体をリファクタリング」すべき点をリストアップ。 どれも現実で遭遇したもの。そしてどれも提案しつつ実際は撃沈していることがほとんど・・・メタファについては書籍リファクタリング・ウェットウェアの教えもあって むりくり…
パンくず 書籍 パーフェクトJava マップのループ処理 概要 Javaのマップのループ処理について Javaのマップのループ処理 三種類のリストを扱える keyリスト Map#keySet valueリスト Map#values key,valueの組み合わせリスト Map#EntrySet その他 ソート済みM…
パンくず 書籍 パーフェクトJava デック 概要 Javaのデックについて JavaのDeque 両端キュー。 先頭、末尾への要素追加や削除をサポートする。 サンプルコード package perfect.deq; import java.util.ArrayDeque; import java.util.Deque; import java.util…
パンくず 書籍 パーフェクトJava セット 概要 Javaのセットについて JavaのSet 重複のない要素の集まり。 HashSet,LinkedSet,TreeSetの構造については MapのHashMap,LinkedMap,TreeMapと同じ。 ※Mapはこちらを参照 サンプルコード package perfect.set; impo…
概要 jQueryで全てのチェックボックスの全選択、全解除を行う。 また、全選択・全解除ボタンにショートカットキーを割り当てる。 書式 Selectors API使用 elements指定とattributeのフィルタを併用する $("input[type='checkbox']").attr('checked', boolean…
パンくず 書籍 パーフェクトJava マップ 概要 Javaのマップについて JavaのMap キーと値のペアを扱う場合、JavaではMapを使用します。 キーが無ければ新規作成。 キーがあれば値を上書きます。 Mapのインターフェース 項目名 処理内容 containsKey キーの存…
パンくずリスト アート・オブ・コミュニティ コミュニティ計画 概要 コミュニティ計画について 内容 コミュニティTODOリスト 項目 内容 チームの分割方法を決める プログラマー、ドキュメント作成等各関心分野ごとのチームに分割する チーム間のコミュニケー…
概要 自作ユーティリティー | 複数項目のor比較。SQLのinをJavaで再現 の内容をRubyで書いてみた。 サンプルコード # encoding: Windows-31J class String def in(*expects) raise "error" if expects[0].nil? return !(expects.index(self).nil?) end end d…
パンくずリスト 自作ユーティリティ 複数項目のor比較。SQLのinをJavaで再現 概要 複数項目のor比較。SQLのinをJavaで再現 内容 複数項目の比較に便利なSQLのin句。 例えば曜日が火木土のどれかと一致すれば良いことを比較する場合、 select * from m_calend…
概要 Javaの自作ユーティリティーを管理。 ライブラリの知識などに乏しいので車輪の再発明をしている可能性も・・。 内容 複数項目のor比較。SQLのinをJavaで再現 汎用Validator 複合キーのMap<K,List<T>>取得ユーティリティ</k,list<t>
概要 プログラマーは日々様々な形式のテキストを扱います。 目的の内容にいち早く辿り着けるかどうかで作業時間は大きく変わります。仕事でマウスやカーソルを使い一行ずつ移動している人を よく見かけるので需要があるかな、と思いまとめ。 プレーンテキス…
概要 人はコミュニティと密接に関わります。 そのコミュニティを円滑にしたり、課題を解決する方法について まとめられた書籍です。 主にコミュニティの運営者をターゲットとした内容ですが、 コミュニティに所属していて、課題を持つものであれば役に立つ内…
パンくず Java JUnit4でEnclosed,Theory,DataPoints対応のテストコードの雛形を自動生成 概要 JUnit4でEnclosed,Theory,DataPoints対応のテストコードの雛形を自動生成 内容 JUnit4かつ以下の形式のテストコードの雛形を生成します。・クラス名はテスト対象…
パンくず Java JUnit テストケースを無視する場合 概要 テストケースを無視する場合 内容 無視したいテストケースがある場合は以下のアノテーションを利用する @Ignore("事情あり") 例えば、モック化している箇所を実際に繋げて動作確認したい場合などに 動…