タグ

refactoringに関するt-wadaのブックマーク (76)

  • - 不吉な匂い

    不吉な匂いとは、リファクタリングを必要とするコードから感じられる雰囲気を、比喩で表したものです。 ここでは、感じ取った不吉な匂いに対して、どのような解決法を選ぶことができるかを取り上げます。 匂いとして示されているのは、次の22のケースです。ひとつずつ見ていきましょう。 また、解決法に添えられている数字は、参考書籍「リファクタリング」の何ページに記されているかを示しています。

    - 不吉な匂い
    t-wada
    t-wada 2019/03/14
    書籍『リファクタリング』の「コードの不吉な臭い」を起点として、解決策となる各リファクタリングを選択する判断を図解したページ。初出は2003年のC Magazineの記事だが、今日でも使える現役のテクニック。
  • Announcing the Second Edition of "Refactoring"

    For the past two years, I've been working on a second edition of my book "Refactoring". Here I have details about the new edition and some memos describing my thoughts in the last months of this project. The book is now available and you can buy it from informit (the web presence of the publisher), Amazon, or your favorite book seller. Purchasing the book gives you access to the canonical web edit

    Announcing the Second Edition of "Refactoring"
    t-wada
    t-wada 2018/03/28
    Fowlerの『リファクタリング』第2版が言語をJavaからJavaScriptに変えて(このあたりの葛藤も書かれている)この秋に出る予定。本の立ち位置も変わる。メインコンテンツは有料の(?)Webサイトとなる。
  • Workflows of Refactoring

    Refactoring has grown into a well-known technique, and most software development teams at least claim to be doing refactoring regularly. Martin Fowler 8 January 2014 How to use this Infodeck Tap the info icon in the top banner to show this panel, tap it again to hide it. Move forward and backward using the arrow buttons at the top banner. If you’re on a touch device then a tap on the left or right

    Workflows of Refactoring
    t-wada
    t-wada 2017/12/27
    リファクタリングのワークフローを6種類にわかりやすく分類(TDD,Litter-Pickup,Comprehension,Preparatory,Planned,Long-Term)
  • ifの条件が2つ以上だと頭がパンクする

    if(param==0 && 判定(param2) || !param3){ //したいこと } みたいに3つぐらい条件がある場合、頭がパンクしそうになる。 この時こう考えている。 1:したいことをする条件は 2:paramが0 3:かつ 4:判定関数でparam2の条件を返して、true 5:またはparam3がfalseのときがtrueだから 6:trueだとだめなんだよね。falseが正しいんだ。でもfalseは偽なのに正? 8:あれ、何したいんだっけ。まぁいいや、とりあえず実行してエラーなら直そう。 7:実行。 8:あれ?なんか違う。何がおかしいんだ 1へ戻る。 これを3,4回繰り返してウアアアアアアアアアアアってなってしまう。 誰か助けて

    ifの条件が2つ以上だと頭がパンクする
    t-wada
    t-wada 2016/09/20
    こういうときはリファクタリング「条件記述の分解」をしましょう
  • リファクタリングコンテスト in Ruby 審査結果発表 - Grooves開発ブログ

    大変長らくお待たせしました。Forkwell Jobs にて、2015年11月24日〜12月31日の期間で開催していた【リファクタリングコンテスト in Ruby 】の審査結果がようやく出揃いました。 今回、なんと最もよいコードに贈られる Ruby賞 を1人のユーザーが独占する結果となりました。 気になる審査結果の前に、あらためて審査員をご紹介します。 松田 明 ( @a_matsuda ) Ruby / Rails / Haml / CarrierWave等のコミッター。kaminari / action_args / active_decorator / motorhead 等の作者。 好きな寿司:アナゴ 和田 卓人 ( @t_wada ) タワーズ・クエスト株式会社取締役社長、プログラマ。日におけるテスト駆動開発(TDD)のスペシャリスト。 好きな寿司:赤貝 藤村 大介 ( @ff

    リファクタリングコンテスト in Ruby 審査結果発表 - Grooves開発ブログ
    t-wada
    t-wada 2016/02/03
    リファクタリングコンテストの審査員を務めさせて頂きました!
  • 【Rubyist応援企画】リファクタリングのBefore→Afterを投稿して、回らない寿司を当てよう! - Forkwell Jobs

    RubyKaigi 2015 応援企画「リファクタリングコンテスト」は終了しました たくさんのご応募ありがとうございました お問い合わせはこちら トップページへ

    【Rubyist応援企画】リファクタリングのBefore→Afterを投稿して、回らない寿司を当てよう! - Forkwell Jobs
    t-wada
    t-wada 2015/11/25
    審査員をさせて頂きます。よろしくお願いします!
  • 1000万行のコードと向き合う3つのステップ――富士ゼロックスはリファクタリングにどう取り組んでいるのか

    1000万行のコードと向き合う3つのステップ――富士ゼロックスはリファクタリングにどう取り組んでいるのか(1/2 ページ) 大企業では実施が難しいと思われるソフトウエアのリファクタリング。富士ゼロックスでは、どのように取り組んでいるのか。リファクタリングの実施を決断した理由、課題とその対応方針、成果、今後の展望などについて聞いた。 バグの有無ではなく保守性を品質管理の指標にすべき 1962年設立の富士ゼロックスは、主に複合機やオフィスプリンターなどに内蔵されるコントローラーソフトウエアの開発を行っている。コントローラーソフトウエアは、スキャナーで撮り込んだ画像の加工や印刷、ネットワーク経由の通信、セキュリティなどの各種機能を、操作パネルのユーザーインターフェースを介して制御しており、昨今の多機能なオフィス機器の要といえる。 一方で、多機能になったことでコードは大規模かつ複雑化の一途をたどっ

    1000万行のコードと向き合う3つのステップ――富士ゼロックスはリファクタリングにどう取り組んでいるのか
    t-wada
    t-wada 2015/07/09
    "今後はバグだけではなく、将来的な保守を見据えた品質管理もしていくべきだ。そう同社は考えた" "今動いているものに手を加えるべきではないという意識が働き、変化に抵抗する人も出てくることが予測された"
  • The Refactoring Tales - JavaScriptのリファクタリング本を読んだ

    GitHub: jackfranklin/the-refactoring-tales 読んだ日付: 2015年1月11日 まだ4章の途中までしか書かれてないですが、ウェブ版は無料で読めてPDF版等は買えるようになるようです(6-7章ぐらい予定) The Refactoring Tales - JavaScript Playground またGitHubにソースが公開されています(ウェブページはまだ反映されてない感じのtypoの修正等がありました) 感想 1,2章はフロントのJavaScriptで、jQuery世界を例にjQueryでべったり書いてしまったものをどうやって分けていくかの話。 1章はとても読みやすくて完成度もあるので読んでみるといい気がします、2章のカヌーセルの話はもっと深くやっても良かったような気がします。 縦に並ぶ$を見かけるとつらい感じになりますが、まずは手が出しやすい場

    The Refactoring Tales - JavaScriptのリファクタリング本を読んだ
    t-wada
    t-wada 2015/01/12
    『リファクタリング』というよりは『レガシーコード改善ガイド』みたいな感じかな? 読んでみよう。
  • 書類仕事を追いかけて - steps to phantasien

    大きなコードベースの真ん中あたりをさわっていると、仕事の大半はリファクタリングに費やされる。機能を足そうと書くコードも 8 割リファクタリングで新緑は 2 割。失敗して捨てるものも多いから、かける時間は 9 対 1 くらいかもしれない。 それどころかリファクタリング自体がプロジェクトにもなりうる。「今四半期はこの腐ったコードどもをなんとかするのが目標」というように。私もいま大きなリファクタリング、あるいはリアーキテクティング、の手伝いをしている。仕事時間のほぼすべてがリファクタリングに費やされる。今の勤務先で通用する唯一の特技がリファクタリングな私にとってこれはたぶん適職だ。 リファクタリングにコーディングの大半を捧げる人は他にもいる。 プログラマ相手の管理職をエンジニアリング・マネージャと呼ぶ。ほぼ全員プログラマ出身。現場に近いマネージャは多くがコードも書く。ただ血気盛んな人を除くと新機

    t-wada
    t-wada 2014/10/16
    omo さんのソフトウェア・エッセイ新作を読んでいる。 "リファクタリングと書類仕事には似たところがある" 大規模なコードベースで働くプログラマたちの日常やバランスの取り方について
  • IIS7

    t-wada
    t-wada 2014/03/14
    “A new book from Sandi Metz and Sarah Mei, featuring TJ Stankus and Doc Ritezel” きたこれ! Pivotal Labs の流儀で Rails アプリをリファクタリングする本になるのかな。
  • TechCrunch

    European Union lawmakers are being urged to avoid too much risk aversion from holding back the potential of the homegrown biotech sector. Developments in biotech could be transformative in a range of

    TechCrunch
    t-wada
    t-wada 2014/03/04
    Mt. Goxのソースコード、かなり腐臭がするのでレガシーコード改善 (テストの無いコードにテストを書きながら構造を改善すること) の良いお題になりそう
  • Agile Samurai Basecamp in Tokyo <2> - The first cry of Atom

    This entry follows previous post. The practical methods about TDD are explained in this section. And also, it is written as an article of TDD advent calendar on 10th day. How to start TDD? Takuto Wada(twada) The right wing of agile is what about team environment, management, scrum, iteration and standup meeting. On the other hand, the left wing of agile is not perceived enough to ordinary people.

    Agile Samurai Basecamp in Tokyo <2> - The first cry of Atom
    t-wada
    t-wada 2013/12/11
    おおお、自分の講演内容が英語化されるのは感慨深いです。ありがとうございます!
  • モダンPerlリファクタリング #yapcasia

    YAPC Asia 2013

    モダンPerlリファクタリング #yapcasia
    t-wada
    t-wada 2013/09/20
    リファクタリングやレガシーコード改善に関するとてもいい資料。特に後半の「コツ」がいい。
  • PHP Refactoring Browser by QafooLabs

    A command line refactoring tool for PHP View the Project on GitHub QafooLabs/php-refactoring-browser Download PHAR View On GitHub Built by Qafoo Note: This software is under development and in alpha state. Refactorings do not contain all necessary pre-conditions and might mess up your code. Check the diffs carefully before applying the patches. PHP Refactoring Browser Note: This software is under

    t-wada
    t-wada 2013/04/10
    コマンドラインから使える(つまり様々なエディタに組み込める) PHP 用のリファクタリングツール
  • Blog

    Transformational Software Engineering Lead your team into the future with unprecedented visibility. Details

    Blog
    t-wada
    t-wada 2013/03/28
    Rails のデフォルトが Insecure になっている 13 項目について
  • - 不吉な匂い

    不吉な匂いとは、リファクタリングを必要とするコードから感じられる雰囲気を、比喩で表したものです。 ここでは、感じ取った不吉な匂いに対して、どのような解決法を選ぶことができるかを取り上げます。 匂いとして示されているのは、次の22のケースです。ひとつずつ見ていきましょう。 また、解決法に添えられている数字は、参考書籍「リファクタリング」の何ページに記されているかを示しています。

    t-wada
    t-wada 2012/08/30
    『リファクタリング』の「不吉な匂い」と対応するリファクタリングの対応図。これはとても良いな。
  • 株式会社 Aiming 近藤 宇智朗さんからの問題│CodeIQ

    挑戦済み0人 残り10人 Aimingは「モダンな開発力」を重視します。今回はその基、テストとリファクタリングの問題です 08月13日 AM10:00 ※解答アップロード前に締め切り時間を過ぎた場合は、受付いたしかねます。 ※締め切り前であっても、採点受付可能なチャレンジ人数を上回った場合は、解答を受付いたしかねます。 ※評価フィードバックコメントのご送付は、受付締切から2週間後の、8月27日までを予定しています。

    t-wada
    t-wada 2012/08/01
    "Aimingは「モダンな開発力」を重視します。今回はその基本、テストとリファクタリングの問題です" これは良い挑戦状
  • AZusaar! を全面リファクタリングしました - くりにっき

    全面リニューアルではなく全面リファクタリングです。 AZusaar!のjsがいろいろと酷かったので1ヶ月半くらいかけてちまちまリファクタリングしていました Before https://github.com/sue445/azusaar_js/tree/c87e7bb098b50ae3cc32b6b687f17f5bff7568b9 After https://github.com/sue445/azusaar_js/tree/32f2f01a68cce667268853c586d6568b3189d137 全然原型をとどめてない(ノ∀`) Github: https://github.com/sue445/azusaar_js リファクタリング用に作ったリポジトリですが、Githubにコードを置いておくと(自分が)何かと便利なのでそのままにしておきますw 最初の頃は「テスト駆動JavaS

    AZusaar! を全面リファクタリングしました - くりにっき
    t-wada
    t-wada 2012/06/12
    AZusaar! の js 部を QUnit + QUnit-TAP + phantomjs + prove を使って全面リファクタリングした話。リファクタリング前後のコードもすべて公開されていてすばらしい。 @sue445 ++
  • テストをプロダクトコードと別言語で書くことに関するTL

    ぐるぐる系SQL @bleis プロダクトコードと別の言語でテストコードを書くのって、いいの?という疑問ががが。JavaのプロダクトコードをScalaとかGroovyで書くのは楽でいいのはわかるんだけど、実例としてのテストという側面を無視しているような気もしてもやもや。 2011-11-15 16:51:58

    テストをプロダクトコードと別言語で書くことに関するTL
    t-wada
    t-wada 2011/11/15
    言語の表現力、サンプルコードであるべき論、そしてリファクタリングで常に手を入れる際の変更コストに関する議論。Javaに関してはEclipseのコード解析/リファクタリングが非常に強力なので使わにゃ損派多し
  • Brutal Refactoring

    Every once in a while, people ask me whether I'm going to do a 2nd Edition of 'Working Effectively with Legacy Code.'  I've dodged the question for quite a while because, on the one hand, it would be nice to move on.  There are so many other things I'm interested in.  On the other hand, I've learned a lot since the book was published and it would be a shame to just let that all slip away. These da

    Brutal Refactoring
    t-wada
    t-wada 2011/04/11
    うおおキタコレ! "So, what I've decided to do is organize the material I have and build it up into another book. The working title is Brutal Refactoring."