ボム君.com

プログラミングで世界を変えよう

プログラムの崩壊は1つルール違反から始まる

f:id:powerbombkun:20160128235723p:plain

プログラムを書いているエンジニアなら誰しも、自分たちの作っているプログラムがいつの間にか手を入れれない程に荒れ果てた状態になっていたという経験があるだろう。

僕がプログラムを書き始めた頃はいつもこんな状態だった。
チームでプログラミングをしていてもこうなるのはもちろん、1人でコーディングしていてもこのような状態になっていた。

プログラムを書く度に毎回毎回こんな風になってしまうのに嫌気が差し、何故なんだ?
といつも自分に問いかけていた。

そして、ある日気付い事。
それは


ルール違反からプログラムの崩壊が始まる


僕はいつも自分が決めたルールを途中で破っていた。

何故ルールが破られるのか

プログラムを書いたことが無いなら、ルールを守るのなんて簡単じゃないかと思うだろう。
日常生活でのルールだと交通ルールや会社の規則、国の法律等様々あるが、守るのはそこまで難しくないだろう。

プログラムの世界ではルールを完全に守るのは案外難しい。

ルールが破られるのは甘い誘惑が沢山あるからだ。

f:id:powerbombkun:20160129000126p:plain

僕は誘惑には弱い。
目の前にケーキが置いてあったら我慢できずにすぐに食べてしまう。
学生時代に受験勉強をしていた時は部屋で勉強していたつもりが、気づいたらいつもテレビの前にいた。

プログラミング上でも誘惑は多い。
それは決して大きな誘惑では無く、1つ1つは小さな誘惑だ。

  • コードにコメントを書くのが面倒くさい。
  • 変数の名前を考えるのが面倒でtemp1みたいな適当な名前の変数を作ってしまう。
  • 他の人が作ったコードを見ると修正してしまいたくなる。

1つ位なら破ってもいいだろう、1つ位なら例外を作ってもいいだろう、今だけ適当に書くけどいつか直すよ。

そんな時僕は言いたい。

その例外命取りですよ!

例外を認める事にその場ではあまり気にはしないかもしい。
ただ、そのような軽い気持ちのルール違反が全ての始まりになる。

プログラムの崩壊の始まり

美しいプログラムというのは本当に美しい。
芸術的だ。

  • 全てのコードがルール通りに配置されている。
  • 関数名を見ただけでそれが何の処理をするかがすぐ分かる。
  • ファイル名を見ただけでそれがプログラム上でどのような役割を担っているかが分かる。

美しいプログラムは巨大なプログラムだったとしても、まるで小さいプログラムであるかのようにすらすらと設計内容を解釈する事ができる。
全てが抽象化されているのであまり考えなくても理解ができる。

そんな美しいプログラムだったとしても1人の身勝手な人が1つのルールを破っただけでおかしくなる。

1つだけ作った例外によって、設計・検査等の全ての工程で常に例外は無いかを気にする必要が出てくる。
また、1つ例外を作った事で2つ目の例外も作ってもいいんじゃないかというのが出てくる。
そのような連鎖によってプログラムが例外だらけのガラパゴスになる。

ゴミプログラムの完成

大量のルール違反で作りこまれてしまったプログラムはゴミだ。
元々のルールが大量のルール違反で何も意味をなさなくなる。
後から作る人はもはやルールを守る気力もなくなる。

完成した時、何でこんなグチャグチャになってしまったんだろうと思うだろう。
後悔するはずだ、たった1つ最初のルールを守ってれば塞げたのにと。

まとめ

武士のような誘惑に強い心を持ちプログラミングのルールを守ろう。