Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

2012-07-01から1ヶ月間の記事一覧

書籍 リーダブルコード | 説明変数

パンくず リーダブルコード 説明変数 概要 説明変数 内容 処理を見ただけでは内容を把握出来ないような内容に対して 説明用の変数を用意することで可読性を高める。 ※サンプル等は関連先で。 関連 書籍 リファクタリング−プログラマーの体質改善 | メソッド…

書籍 リーダブルコード | ガード節

パンくず リーダブルコード ガード節 概要 ガード節 内容 ネストしたif文やif-elsifなどが多くある場合に ガード節を使用することで条件を単純に出来る。 サンプルコード # encoding: Windows-31J def get_next_character(character) if (character.nil?) re…

書籍 リーダブルコード | 三項演算子

パンくず リーダブルコード 三項演算子 概要 三項演算子 内容 三項演算子を利用する場合はコードが簡潔な場合に限る。 サンプルコード def is_hoge(target) return target == "hoge"; end %w [hoge hage hige].each do |each_word| # 3項演算子だとシンプル…

JYaml | jYamlでオブジェクトをデシリアライズ

パンくず Java JYaml jYamlでオブジェクトをデシリアライズ 概要 jYamlでオブジェクトをデシリアライズについて サンプルコード 自作クラスに対するデシリアライズサンプルYamlデータファイル(yaml_object.yml) name: parentName nameType: FULL_NAME chil…

JYaml | YEdit導入

パンくず Java JYaml YEdit導入 概要 YEdit導入について YEditとは EclipseでYamlを編集するためのプラグインです。 Yamlはインデントに半角スペースを利用するなど、 他の開発環境のインデント設定とバッティングする可能性もあるため 専用のエディタを入れ…

JYaml | JYaml導入

パンくず Java JYaml JYaml導入 概要 JYaml導入について Yamlとは YAML(ヤムル)とは、構造化データやオブジェクトを文字列に シリアライズ(直列化)するためのデータ形式の一種。 スクリプト系言語の設定ファイルなどによく利用される。インデントを利用…

JYaml関連情報まとめ

概要 当ブログで取り扱っているJYaml関連情報メニュー Yaml(ヤムル)とは?については関連情報のサイトをご確認ください。 内容 JYaml導入 YEdit導入 jYamlでオブジェクトをデシリアライズ jYamlでオブジェクトのリストをデシリアライズ 関連情報 Yaml Wiki…

JUnit4のテストとYamlの外部ファイルでのテストデータ管理

JUnit | TheoryとDataPointsとFixitureによるパターン化テストとjYamlでオブジェクトのリストをデシリアライズの記事を組み合わせることでJUnit4のテストとYamlの外部ファイルでのテストデータ管理 が可能になる。前者の記事で作成したFixtureのデータ構造に…

JYaml | jYamlでオブジェクトのリストをデシリアライズ

パンくず Java JYaml jYamlでオブジェクトのリストをデシリアライズ 概要 jYamlでオブジェクトのリストをデシリアライズについて ここまで出来るとテストクラスのリストデータ、など様々な用途で使えます。 サンプルコード 自作クラスのリストデータに対する…

JUnit | TheoryとDataPointsとFixitureによるパターン化テスト

パンくず Java JUnit TheoryとDataPointsとFixitureによるパターン化テスト 概要 TheoryとDataPointsとFixitureによるパターン化テスト 内容 JUnitのテストは基本的に ・事前条件の設定 ・テスト対象処理の実行 ・テスト結果の確認(assertThat) など似たよ…

書籍 リーダブルコード | bool値の命名

パンくず リーダブルコード bool値の命名 概要 bool値の命名 内容 bool値の変数やメソッド名の命名を行う場合は is has can should などを利用する。 可能な限り否定ではなく、工程の単語で命名する×isDisabled ○isEnabled※ただし、Rubyのメソッドでboolを扱…

書籍 リーダブルコード | 包含・排他的範囲の命名

パンくず リーダブルコード 包含・排他的範囲の命名 概要 包含・排他的範囲の命名 内容 包含・排他的範囲を表す変数、引数の命名を行う場合は start,endを使用する。 この場合、start以上・end未満を表す。 サンプルコード # encoding: Windows-31J # Rubyの…

書籍 リーダブルコード | 範囲指定の命名

パンくず リーダブルコード 範囲指定の命名 概要 範囲指定の命名 内容 範囲を表す変数、引数の命名を行う場合は first,lastを使用する。 この場合、first以上・last以下を表す。 サンプルコード # encoding: Windows-31J def printListRange(list, first, la…

書籍 リーダブルコード

概要 書籍 リーダブルコードに関するメモ。 全てをカバーせず、自分の中で新たに学ぶことやまとめ直しておきたいことのみを抜粋します。 また、例示するサンプルも写経せずに出来るだけ自分で考えたサンプルにします。 各章 1章 理解しやすいコード 自分以外…

JUnit | Quick JUnitによるテスト開発の効率化

パンくず Java JUnit Quick JUnitによるテスト開発の効率化 概要 Quick JUnitによるテスト開発の効率化について Quick JUnitとは EclipseのPluguin。 JUnitのテスト開発を補助してくれるツール。 Quick JUnitの機能 ・テストコードとプロダクトコードのの切…

JUnit | JUnitとは

パンくず Java JUnit JUnitとは 概要 JUnitに関する基礎情報 JUnitとは? JUnitとはJavaで開発されたプログラムにおいてユニットテスト(単体テスト)の 自動化を行うためのフレームワーク。 開発者 GoFの1人でもあるエーリヒ・ガンマとXPで知られるケント・…

JUnit関連情報まとめ

概要 当ブログで取り扱っているJUnit関連情報メニュー 内容 JUnitとは Eclipse QuickJUnit Pluginによるテスト開発の効率化 JUnit4による基本的なケース作成 TheoryとDataPointsとFixitureによるパターン化テスト テストケースを無視する場合 JUnit4のDataPo…

Java関連情報まとめ

概要 当ブログで取り扱っているJava関連情報メニュー Java言語 システム情報の取得 配列を文字列として出力 Futureパターンで非同期処理の結果を先に受け取る Java関連技術情報 JUnit JavaDoc再入門 Eclipseの設定でJavaDoc未記載の箇所を警告表示にする djU…

JUnit | JUnit4による基本的なケース作成

パンくず Java JUnit JUnit4による基本的なケース作成 概要 JUnit4による基本的なケース作成について テストケースのルール ・テストクラスはテスト対象のクラス名+Test ・テストメソッドは@Testアノテーションを付加するJUnit3以前ではテストクラスはTestC…

正規表現サンプル | **二文字で始まる行以外の全行を削除

正規表現サンプル 自分の作業用に使った正規表現のサンプルレシピ 概要 **(アスタリスク)二文字で始まる行以外の全行を削除 ※要ははてな記法の見出し以外の行を削除したい時に利用する正規表現検索条件 (?!^\*\*)(^.*\n?)置換条件 ※空文字 出力 置換前 **…

書籍 Ruby Cookbook | パーミッションの確認

パンくず Ruby Cookbook パーミッションの確認 概要 パーミッションの確認 内容 パーミッションの確認読み込み可能か確認 File.readable? <ファイル名> 実行可能か確認 File.executable? <ファイル名> 書き込み可能か確認 File.writable? <ファイル名> サン…

書籍 Ruby Cookbook | ファイルの存在確認

パンくず Ruby Cookbook ファイルの存在確認 概要 ファイルの存在確認 内容 ファイル、の存在チェックを行う場合 ファイルの存在のみ確認する場合 File.file? <ファイル名> ディレクトリの存在のみ確認する場合 File.file? <ディレクトリ名> ファイル、ディ…

1プログラマーからみたデスマ対策:焼け石に水をかけないよりはかけたほうがいい

デスマ対策 デスマじゃない現場のほうが少ないんじゃないか? ということもあり考えておいて損はない。 技術力を上げること デスマに入ってから実力を上げることは時間的制約を考えても 至難の業ではある。 しかし結局はここに尽きると思う。元々デスマにな…

書籍 Ruby Cookbook | 最終更新日の取得

パンくず Ruby Cookbook 最終更新日の取得 概要 最終更新日の取得 内容 variable = File.stat(<ファイル名>) variable.mstat # => modified time サンプル # encoding: Windows-31J require "pp" def output_file_stat(filename) stat = File.stat(filename)…

書籍 Ruby Cookbook | keyとvalueの入れ替え

パンくず Ruby Cookbook keyとvalueの入れ替え 概要 keyとvalueの入れ替え 内容 keyとvalueの入れ替えするには以下の構文を利用します。 hash.invert サンプル # encoding: Windows-31J require "pp" hash = {ge:"ho",go:"hi",shi:"ha"} pp hash pp hash.inv…

書籍 Ruby Cookbook | HashをYamlに変換

パンくず Ruby Cookbook HashをYamlに変換 概要 HashをYamlに変換 内容 HashをYamlに変換するには以下の構文を利用します。 require yaml hash.to_yaml サンプル # encoding: Windows-31J require 'yaml' require 'pp' hash = [neuro:'majin',korosensei:'un…

Javaで同名フィールドのコピーとパフォーマンスの計測。DRYを選ぶか高速化を選ぶか

概要 Javaで同名フィールドのコピーとパフォーマンスの計測 内容 Javaで同名フィールドのコピーを行う手法とそのパフォーマンス検証について。 ある2つのデータクラスがあり、同名のフィールドは同じ型であるとします。 この2つのデータクラスの同名フィール…

書籍 Ruby Cookbook | 1つのハッシュに複数の値を設定

パンくず Ruby Cookbook 1つのハッシュに複数の値を設定 概要 1つのハッシュに複数の値を設定 内容 基本、Hashはkeyとvalueの1対1で成り立ちます。 valueに配列を指定することで1対多でハッシュを利用することが可能です。 サンプル require "pp" languages …

書籍 Ruby Cookbook | ハッシュキーにシンボルを利用

パンくず Ruby Cookbook ハッシュキーにシンボルを利用 概要 ハッシュキーにシンボルを利用 内容 以下の構文でシンボルを利用可能です。 :hoge 'hoge'.intern シンボルについて Rubyマニュアルより Rubyの内部実装では、メソッド名や変数名、定数名、クラス…

if文がネストするような条件をどうシンプルにするか?

概要 if文がネストするような条件をどうシンプルにするか? 問題 チェックロジック系など、条件文が多くなってくるとif文やswitch文の 記述が長くなりわかりにくくなる。 実際に仕事でもよく遭遇するタイプのコード。 例題 超人の必須チェック処理を想定。超…