機能追加したら既存の関数名も名前を変えようという話
読んで自分が解釈した内容.要約とメモ.
show
って関数があって、後でアニメーション部分だけ変えた関数showWithSlideAnimation
ができて,
そのあとアニメーションさせないshowWithoutAnimation
が生まれた.
じゃーshow
ってどんなアニメーションなの?という話.
showWithSlideAnimation
ができたときにshow
をshowWithFadeAnimation
などに名前を変えていれば分かりやすかったよね.
名前や機能の対称性って実装時やレビュー時に見落とされがちなので,気をつけましょう.
というところまでがこの記事の話で,そこから自分の思うところも書き連ねておこうと.
そのためにはリネームが安全にできる必要があって,そのためにはテストが必要で,そのためには工数がかかって,そのためには見積もり時の工数に含めとく必要がある.
テストコード書くのにかかる工数が,手作業によるテストもどきよりも費用対効果が高いことを示したり, 安心安全を生み出すことを啓蒙しないといけないと思ってる.(わたしはそうだと思ってて,テストコード書く文化があって当然だと思ってるから)
"よりも"というのは適切じゃないですね.それぞれ得意不得意な領域があるので,テストコードを書くようなテストも 導入しやすい基盤とノウハウを共有して,工数を減らすことと,安心感をもたらすことと,それによって品質が上がることを広めていきたいと思ってる.
今は,frisby.jsでAPIのテストをするノウハウがすこしたまりつつある.あとAngularJSを使ってるので,コンポーネント毎にテストをかけて回せる. んだけど,テストコードをかけていない.
落ち着いたらちょっとずつ書いていきます.