いろいろな仕事を渡り歩き、今はインフラ系エンジニアをやっている。いろんな業種からの視点も交えてコラムを綴らせていただきます。

自分の書いたコード、愛せますか?

»

■つまらんスクリプト

 私はプログラムは組みません。しかし、複雑なスクリプトはよく組みます。あの組み立てていくような感覚が非常に面白い。パズルのようなワクワク感があり、自分の思うように動いてくれると、心の中でガッツポーズをとることもある。

 ただ、仕事でこれをやるとつまらない。あとどのくらいで書けるか? そればかり聞いてくる。スクリプトの内容なんか興味を持つ人はいない。そんな人のもとで「とりあえずの結果が出りゃいいや」という姿勢で書かれたスクリプトは、読んでいてつまらない。投げやりな姿勢がこちらに伝わってきて、しらけてしまう。

■現場のスクリプトの大半が未調整品

 いろいろな現場でいろんなスクリプトを見てきたが、大半が未調整品だ。未調整品とは、難解な書き方だったり、無駄な処理が多いスクリプトです。結果さえ出せばいいという意図が伝わってくるような、愛情の無いスクリプトです。

 確かに、処理結果を出すだけなら何の支障もないです。しかし、後からメンテナンスしたり機能を拡張するのがやりにくい。あと、見えない部分でモチベーションを削るという精神的なダメージを与えることもある。

■スクリプトやコードに必要なもの

 スクリプトやコードに必要なものは2つあると思う。試行錯誤と愛だ。自分の書いたスクリプトを愛せない奴に良いスクリプトは書けないし、成長はない。何年もコマンドベタ書きのhistoryコマンドの出力みたいなスクリプトを書き続ける。

 スクリプトに愛がなければ、試行錯誤を続ける情熱が沸かない。結果が出た段階でどうでも良くなってしまう。自分の書いたスクリプトが愛されるようになるための努力、つまり、後世の者が読んで分かりやすかったり、踏み台にしてより高度なスクリプトを書きたくなるような、そういう工夫が省かれる。

■開発の人にはもっと重要な話だと思う

 サーバのお守りや構築をする立場としては、常にスクリプトばかり書いてるわけではない。多少投げやりなスクリプトに遭遇しても、それはあくまでも一部だ。しかし、開発をやってる人はすべてがコードだ。そのコードが投げやりなコードだったら、大変な話だろう。

 現場では、試行錯誤は無駄と認識され、自分のコードやスクリプトには工夫よりコーディング規則ばかり求める。これをやれば品質が上がるだろうとやっているのだが、実際は無駄を省こうとする現場ほど効率が悪く、コーディング規則が厳しい現場ほど、本質が抜け落ちる傾向がある。経験則だが。

 コードやスクリプトは、1つの作品だ。書くものに感動がなければ良いものは書けないし、読む人に感動を与えなければ発展はない。機械的なものかと思われがちだが、音楽や絵画と性質が似ているのかもしれない。

Comment(0)