Re:「開発者はリファクタリングすることで誇りを取り戻す」

ううむ、昨日そう言ったのは覚えてますが、元ネタは何だったか。どこかで読んだような気がするのですが、ひょっとしたら脳内で勝手に作り上げたのかもしれません。


ただ、RtPの第二章 What Motivates Us to Refactorのところに

Make coding less annoying

というのがあって、この言葉が結構好きです。


私達プログラマはいつでも、シンプルで、一貫性があり、いい名前の付いた、きれいなプログラムを書きたいと思っています。しかし現実のスケジュールの下では緊急のリリースがあったり、基盤的な制約があったりして、完全な自由の中での開発はありません。たとえスコープ調整が可能であったとしても、無制限なスコープ調整は現実ではありえないので、さまざまな制約の中で仕事をすることになります。
そのなかで「技術的負債」を背負ったり、「信用貯金」を使ったりして、そのときどきでお客さまのために最適の選択をしようと努力します。技術者としての満足とお客さまの満足を天秤にかけて、後者をとることも多いと思います。ですから、お客さまの希望をかなえた後でリファクタリングをすることも実際にはよくあります。(ここで書いているのは大きいリファクタリングのことです。小さなリファクタリングは常に行います。)


私はこういう選択を行うこと自体「誇り」があることだと考えているので、技術的に妥協することが誇りを失うことになるとは必ずしも考えていません。ただ技術者としての誇りというものは、そういった心のもちようとは別に、減ってしてしまうこともときにはあります。


だからそういったときに、「開発者はリファクタリングすることで誇りを取り戻す」と思いますし、他の人にもそう言っています。リファクタリングすることで「誇り」を取り戻す感じが、するのではないかと思います。