dogwood008の開発メモ!

最近のマイブームは機械学習, Ruby on Rails。中でも機械学習を使った金融商品の自動取引に興味があります。

「関数名だけで内容がわかるようしてドキュメンテーションを避ける」は本当に悪手なのか

InfoWorldが選んだ悪いプログラミングテクニックは以下の通り。
  2. 関数名だけで内容がわかるようにしてドキュメンテーションを避ける
ついつい使ってしまうプログラミングの悪いテクニックは? | スラド デベロッパー

f:id:dogwood008:20151030012612j:plain
Photo by Sho Hashimoto

関数の名前は見てすぐにわかるものを付けるべきだし、加えてドキュメントもあればなお良いということは自明である。
しかし、現実はそうもいかない場合がある。緊急パッチやASAPのタスクなんていくらでもある。

そんなときにドキュメントの更新漏れが発生する。これは誰が悪いというわけではなく、環境が悪い。
本筋では環境を直すのが最善ではあるが…という感じ。
そんなときに現実的な解として、「関数名だけで何をする関数なのかを判別できるようにしておく」ことは最低限必須だと思う。

「先週の自分は他人」というどこで聞いたかわからない格言のようなものが指すように、自分が書いたコードなんて未来永劫覚えておけるはずなんてない。
そんなときに、更新されているかどうかすら不明なドキュメントより、gitのログと関数名で何をするか関数かわかる方が良いんじゃないかな。