タグ

ブックマーク / blog.lai.so (2)

  • 無法地帯にテストケースを追加する時にいつもやっている戦略 - laiso

    数年開発続いてるけどテスト全くないみたいなよくあるコードベースを想定。 不具合を修正する時についでにリファクタリングしてドメイン層のテストを書く。 手動テストで不具合を再現 ViewからロジックをControllerへ移動し、Viewからは値の参照のみにする 移動したロジックをController内でプライベートメソッドに切り出す。返り値を(2)の値にセットする プライベートメソッドを外に出して関数→モジュール化する (4)のメソッドに対してテストを書き、失敗するのを確認する ポイントとしては 運用的観点ではなるべく早く不具合を修正してデプロイしたいので、リファクタリングだけ別のブランチでゆっくりやる 依存がでか過ぎで解決できなさそうなど問題があれば、その時点ではテストを書くのを諦める。行動したことで学んだIssueを起票する 具体的なリファクタリング方法は レガシーコード改善ガイド (O

    無法地帯にテストケースを追加する時にいつもやっている戦略 - laiso
    knjname
    knjname 2018/03/08
  • プログラマが体験するべき○つのこと - laiso

    プログラミングはそれ自体が目的であっていい - mizchi log 大事なのは、いくつ地雷を踏んだか、だ。地雷を踏んだ数だけ強く慣れる。真に必要なのは、独力での問題解決能力。Python2系でsjisのHTMLをlxmlでスクレーピングすると、地雷を7つぐらい同時に踏めるからおすすめだ。 僕もまあそれなりに手を出しているのだけど、他の人も抑えるべきだと思った概念は、次のものだ。 Haskellにおける入出力IOと副作用の概念 HaskellのMaybe, またはScalaのOption型 Scalaのtrait Node.jsの非同期Promiseパターン C#のgetter/setter/readonly/async等の型アノテーション 題にはあんまり興味がなかったんだけどこの部分がおもしろかったのでイッチョカミしたい。 成功体験の共有とまではいかないけど、こういう「これはやってよか

    プログラマが体験するべき○つのこと - laiso
    knjname
    knjname 2013/05/14
    誰かやってないことリストを確認できるもの作って
  • 1