season2015-05-27こういうふうに、書きたい、と思うあなたの目前にクソコードが広がっているとする。実力のないプログラマであれば、それがクソなのかそうでないのか判断はできない。実力があって、良識のあるプログラマであれば、クソコードを嘆くであろう。目の前にクソコードがある。そのクソコードはそこそこ実績のあるサービスで、そこそこ収益をあげている、としよう。すると、単純にクソだからといってサービスを捨てたり機能を減らしたりはできない。「リファクタリングしよう!」というのは簡単だけど、クソコードが相手だとテストも不十分だったりするから、それは必要ではあるけれど、やっぱり怖い。それなりに歴史のあるものだから、まったくレガシーがない環境はたぶんありえないし、完全新規なベンチャーであれば、未来のレガシーをつくるのは多分そこから逃げたあなた、だ。いうとき、どうするべきか、僕も答えはないのだけれど、現状に対して、「こういう風に書きたい、直したい」っていう思いが大事なのかな、って思っている。現状がどれだけクソだったとしても、それをどうしたいか、どう直したいか、自分は今のプロダクトを本当はどういう風に書きたいか、ってのを示すことができなかったら、多分それは現状より悪い。現状がクソであることに文句を言う人、どう悪いか、まで言語化できる人は数多くいるけれども、どう直したいか、どう書きたいか、ってところまで踏み込める人はあまりいないし、そこまで踏み込んでくれる人が増えてくれたら世界はもうちょっと良くなるのかもしれないなぁ、ってちょっと思ったりした。