タグ

リファクタリングに関するkahkiのブックマーク (7)

  • 今日から始められるリファクタリング10選 (2) - Qiita

    概要 前回 は、第6章「メソッドの構成」に属する 1〜3 について書きました。 今回は、第9章「条件記述の単純化」に属する 4〜7 について書きます (詳しくは前回の目次を参照)。 主に if/else の書き方に関するリファクタリングですね。 4. 条件記述の分解 (238) 概要 条件記述部とthen部およびelse部から、メソッドを抽出する。 サンプルコード(リファクタリング前) 要件が複雑であるために、色んな値の組み合せによって処理が分岐しているけど、実態は似たような処理のバリエーションでしかない、ということがあります。サンプルコード、ちょっといい具合にアレンジできなかったので分かりにくいとは思いますが。

    今日から始められるリファクタリング10選 (2) - Qiita
  • 今日から始められるリファクタリング10選 (1) - Qiita

    概要 Martin Fowler 著「リファクタリング―プログラムの体質改善テクニック」を参考にしました 手軽にできる (と思われる) リファクタリングを抜粋しました (10 という数字に特に意味はなくキリがよかったので) リファクタリングカタログ名は「」で括り、()内にページ番号を振りました サンプルコードはPHPで記述しました テストコードがある前提です 「リファクタリング―プログラムの体質改善テクニック」について このはリファクタリングのガイドブックです。系統だった効果的なリファクタリング手法を説明しています。コード中にバグを加えずに、ソフトウェアの構造を体系的に改善できます。 (Amazon 商品の説明より) オリジナル版と新装版があります。稿ではオリジナル版を使用しました (新装版と目視で比較したが、リファクタリングカタログに違いはないみたいだった)。 リファクタリング―プロ

    今日から始められるリファクタリング10選 (1) - Qiita
  • 達人プログラマーに学ぶ リファクタリング | Act as Professional

    ガーデニングのメタファーはソフトウェア開発の現実にかなり近いものです。あるルーチンが大きくなりすぎたり、色々なことを実現しようとしすぎている場合、2つに株分けする必要があるのです。また、計画通りうまくいかないものは雑草を抜いたり剪定してやらないといけないのです。 こういったコード記述のやり直し、再作業、再設計を総称して「リファクタリング」と呼びます。 リファクタリングのきっかけDRYの原則に反している直交していない設計時代遅れの知識をつかっているパフォーマンスがわるいクラス、メソッドが長い名前がしっくりこない同じようなコピペコードがいくつも見られ、UIを直すとロジックを直して、DBもなおすとか。非推奨のメソッドを使っていたり。ループ分が多いし、やってることとメソッドの名前があっていないとか。みなさんも、思い当たるようなことはありませんか? タイミングとガン細胞の切除 きっかけを見つけたら、

    達人プログラマーに学ぶ リファクタリング | Act as Professional
  • リファクタリング(Refactoring)とは?-リファクタリング-アジャイル横丁Wiki - アジャイル横丁

    リファクタリング(Refactoring)とは? プログラムの動作を変えずに、内部の構造を改善していくことです。 プログラムをわかりやすくすることです。 リファクタリングは手戻りではありません。 リファクタリングは手戻りではない (by ロン・ジェフリーズ, 訳:金田忠士)[02/09/05] リファクタリングカタログ リファクタリングカタログ(あいうえお順) 値から参照への変更(Change Value to Reference) アルゴリズムの取り替え(Substitute Algorithm) 委譲による継承の置き換え(Replace Inheritance with Delegation) 委譲の隠蔽(Hide Delegate) 一時変数のインライン化(Inline Temp) 一時変数の分離(Split Temporary Variable) インタフェースの抽出(Ext

    kahki
    kahki 2006/11/27
    リファクタリングカタログ
  • サービス提供終了のお知らせ

    日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート

  • [Java]JUnit サーバサイドテストの忘れちゃいけない必須テクニック

    Swing版はテストをツリー状に見ることができるなどAWT版に比べて機能が追加されているので、できればSwing版をお使いになることをお勧めします。 インストールが正しく行われているか確かめるためにサンプルを動かしてみましょう。junit3.8.1ディレクトリで次のようにTestRunnerを起動させてみてください。 ここではWindowsXPで起動させた場合を示します。 c:\junit3.8.1> java -cp junit.jar;. junit.swingui.TestRunner junit.samples.AllTests TestRunnerを引数つきで起動させると自動的にテストを開始します。起動すると、図2のようなフレームが表示されます(丸数字は筆者が説明のために付記したものです)。モノクロームでは分かりにくいのですが、図2-5 のバーが緑になっていればテストが成功してい

  • サービス提供終了のお知らせ

    日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート

  • 1