タグ

refactoringに関するatsushifxのブックマーク (8)

  • 「絶対要らないハズだけど、なかなか削除できずにいるもの」を対応した小話 | メルカリエンジニアリング

    はじめましてこんにちは。SREの@masartzです。 私は最近joinしたのですが、今回は番環境に古くからあるテーブルの掃除作業をした案件をご紹介します。 tl;dr; 番の住所情報テーブルを消したけど問題なかった話 絶対要らないハズだけど、なかなか削除できずにいるもの を対処する話 番環境の住所情報テーブルをdropするまでの作業 今回、番環境の住所情報テーブルをdropしました。 と言っても、事故でもうっかりでもなく、既に使われていなかったものの整理という作業でした。 何故使われていなかったかというのは、メルカリの住所情報の保持の仕方の変遷が関係しています。 初期にはuser情報と住所情報は1対1の関係でした。イメージとしては以下です。 CREATE TABLE IF NOT EXISTS users ( id INT UNSIGNED NOT NULL, name VARC

    「絶対要らないハズだけど、なかなか削除できずにいるもの」を対応した小話 | メルカリエンジニアリング
    atsushifx
    atsushifx 2017/05/26
    これもリファクタリング。データベースのような複数のシステムにまたがっているリソースのリファクタはかくも難しい。APIやメソッドもそう
  • mattnさんのリファクタリングを読み解く - 生涯未熟

    現在絶賛開発中のkirimoriですが、なんとGolang界隈で有名なmattnさんにリファクタリングをして頂くという、とても嬉しい事態がありました✨ kirimoriについてはこちら↓ syossan.hateblo.jp リファクタリング前提でかなり雑に書いていたのですが、めちゃくちゃ良い感じにコードを直して頂けたので自分の勉強のために読み解いてみます👏 リファクタリング前 kirimoriは以下の機能を有しています。 initコマンドでkirimoriの設定ファイル(toml形式)を作成します addコマンドでコマンドライン引数に指定したプラグインを追加します removeコマンドでコマンドライン引数に指定したプラグインを削除します listコマンドでプラグインの一覧を表示します で、構成的には kirimori.go に全てのコマンドの処理をベタ書きにしてある感じになっております

    mattnさんのリファクタリングを読み解く - 生涯未熟
    atsushifx
    atsushifx 2017/01/24
    プログラミングを覚える上で、いいコードを読むというのは凄く力がつく方法。このリファクタリング前と後というのは、いかに筋のいいコードを書くかという点で最強の教材になりそう
  • Refactoring Ruby with Monads

    Contents Introduction Stacks Collections Abstract data types Refactoring Handling nil Multiple results Asynchronous code Monads Conclusion Introduction Hello! I’m going to tell you about monads, and how we can uncover them by refactoring our Ruby code. The ideas in this article might be unfamiliar, so before we get stuck into the details, let’s warm our brains up with something simple. People alwa

  • - 不吉な匂い

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

    - 不吉な匂い
  • リファクタリング―プログラムの体質改善テクニック読んだ - 銀の人のメモ帳

    リファクタリング―プログラムの体質改善テクニック (Object Technology Series) 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史出版社/メーカー: ピアソンエデュケーション発売日: 2000/05メディア: 単行購入: 94人 クリック: 3,091回この商品を含むブログ (307件) を見る 残念ながらピアソン桐原から出版されていたので、現在は手に入りにくいんだけど、読んだ。 内容的には、リファクタリング手法のカタログみたいな感じだと思う。5章くらいまでは、導入とか、リファクタリングの心構えみたいな事が書いてある。 リファクタリングをするときに「いつすべきか?」というのが問題になると思うんだけど、このでは、機能を実装するときにその周辺をリファクタリングするといいと書いてあった。これは「動いてるものは触るな」っていう考

    リファクタリング―プログラムの体質改善テクニック読んだ - 銀の人のメモ帳
    atsushifx
    atsushifx 2014/03/10
    デザインパターン自体は最初から知っておいたほうがいいとおもうが、ハンマーを持つと何でも釘に見えるという病がでるから注意ということ。可能ならエレメンタルデザインパターンが読むといい
  • メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ

    毎日他の人のコミットをながめる文化で生活していると、理由は浮かばないけど「ん?このコミットはなんか気になる」と感じるようになります。それは、新しいことを知ることができたコミットだったり、真似したくなるようなコードが入っているコミットだったり、なんかまずそうな気がするコミットだったり、様々です。 「ん?」と感じてコミットを見直してみても、何が気になったか自分でもすぐにわからない場合があります。そんなとき、気になったことをコミットした人に伝えるために、コミットへのコメントをまとめ始めます。「コミットした人に伝えるため」というように、他の人に伝えようとすることがポイントです。他の人に伝えるためにまとめようとすると、思いの外なにが気になったかまとまるものです。 今回は、メタプログラミングを使ってコードを整理したコミットで「ん?」と感じたときのことについて紹介します。このおかげで「メタプログラミング

    メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ
    atsushifx
    atsushifx 2014/01/17
    メタプログラミングというよりはリファクタリングしすぎとかデザインパターン適用しすぎとかの問題に見える。こういうのはバランスが大事で、文章などにアウトプットすることが自分の考えを明確にする
  • If-less programming

    I recently watched a Google tech talk called “The Clean Code Talks – Inheritance, Polymorphism, & Testing”, and I was amazed how Misko Hevery explained that (a lot of) ifs can be a smelly thing in a Object Oriented language. Being fascinated by the idea, I decided to google it, and I was surprised that if-less programming is a pretty popular topic. I noticed a response to a stackoverflow question

    atsushifx
    atsushifx 2012/12/30
    あとのDiscussionが重要。僕の意見では、if-lessはいわゆるリファクタリングのやりすぎと一緒なのでバランスが大事
  • コードのリファクタリングのお供に·Clone Digger MOONGIFT

    Clone DiggerはPython製のオープンソース・ソフトウェア。プログラミングコードは開発が進むにつれて徐々に汚くなっていく。これは部屋が汚れるようなもので致し方ないだろう。大事なのは定期的に掃除をすることだ。プログラミングコードで言えばリファクタリングがこれにあたる。 レポート リファクタリングを適切に行えば重複するコードが減り、可読性が良くなる。同じような関数があれば統合することもできるだろう。リファクタリングを行う上でアイディアを出してくれるのがClone Diggerだ。 Clone DiggerはPythonJavaに対応し、似通ったコードを抽出してくれる。プロジェクト全体が多数のファイルに渡っていても、Clone Diggerが全体を洗い出した上でリストアップする。結果はHTMLファイルで出力する。 重複している、または似ている箇所が分かる 改行や空白は無視されるよう

    コードのリファクタリングのお供に·Clone Digger MOONGIFT
    atsushifx
    atsushifx 2010/09/16
    コードを調査して似通ったコードを抽出するツール
  • 1