コピペすべきはコードじゃなくてコードの思想

ここ一ヶ月くらいゲロのように汚いコードをリファクタリングする仕事をやっていたので、そのグチを書きます。

 

プログラミング言語はコンピュータと会話する言語

よくコピペしてコード書いてるプログラマがいると思いますが、それって相当危険なことだということを認識してください。

日常会話をネットに落ちてる文章からコピペして行なっていたら、会話相手に「こいつやべえやつだな」と思われること間違いなしですが、コンピュータ相手でも「言語」を使っている以上、やべえのは一緒だと思ってください。

 

たとえば相手に自分の思いを伝えたいとしましょう。

ストレートな言葉で伝えるか、言葉と共にプレゼントでも用意しようか、ちょっとひねった言い回しをしようか、いろんな選択肢があると思います。

そんな中で、ネットであれこれ調べたりすることもあると思います。一生懸命考えなきゃですね。

最終的には自分のいままでの性格や人生と、相手との距離感、関係性から自分なりの表現を選ぶと思いますし、それは素敵なことだと思います。

 

ここで、何も考えずネットであれこれ調べたやつをコピペしたとしましょう。

ネットで「思い 伝える」で検索してヒットした言葉が「僕はしにましぇん*1」だった場合、そしてそれをそのまま相手に伝えた場合どうなるでしょうか。

相手はまず、唐突に伝えられた「僕はしにましぇん」について考えなくてはいけません。なぜ自分に死なない宣言をしたのか、そもそも以前は死にたかったのか、まさか武田鉄矢のモノマネをしたのではないだろうか。

この場合「僕はしにましぇん」でコピペしなきゃいけないのは、その文脈であり、その思想であり、その心意気であって、「僕はしにましぇん」ではないはずです。

結果として「僕はしにましぇん」は狙った結果を産まないでしょう。コンピュータは人間のように「お、おう。。」とやり過ごすことはないので、額面通り「僕はしにましぇん」のメッセージを受け取り、そしてそれは予期しない動作に繋がり、アプリが死にます。

 

 

プログラミング言語はコンピュータだけでなく人間とも会話する言語

人間相手に「僕はしにましぇん」と間違えて言った場合は、何らかのツッコミ、侮蔑の視線等を受けたのちに、なかったことになりますが、コンピュータ相手だと「僕はしにましぇん」と発した履歴が確実に残り、その履歴は他の人間が管理することになります。

他の人は突如発せられた「僕はしにましぇん」をみて、果たしてこれが思いを伝えるための言葉だと思うでしょうか。

運良くその人がトレンディドラマ大好き野郎だったらなんとかわかるかもしれませんが、その人が新卒だったら年齢的に多分わからないし、そもそも日本人じゃないかもしれないし、結構な確率で大量の疑問符を発生させることになると思います。

 

「僕はしにましぇん」なんてコピペするかよ、と思う方が大多数だと思いますが、なぜかプログラミング言語ではこういうことが多発しているように思えます。

コピペが悪だとは思いませんし、多くのプロダクトはコピペから産まれてて、多くの学習はコピペが始まりだと思っています。

ただ、コピペするのはコードじゃなくてコードの思想であるべきだと私は思います。

 

 

そして、いつかプログラミング言語が廃れても、思想は脈々と受け継がれるので、それが枯れない経験として私たちの中に生き続けるのだと思います。

 

人間にやって失礼なことはコンピュータにもするな

*1:101回目のプロポーズというドラマの最終回で武田鉄也がトラックに轢かれそうになりながら発した言葉だし、別に俺もリアルタイムじゃねえからよくわかんねえし