(今から良い事を言います。乞うご期待笑)

毎日朝から晩まで開発を続ける日々の中でひとつの真理にたどり着きました。

それは…

『WEBプログラミングに置いて、”現実に起こりうる事象はすべて有限である”ということです。』

つまり、適切に条件分岐を繰り返していけば、現実に起こりうる全ての事象に対応できる最強のコード群をつくり上げられる訳です。

真理だ…(ぱちぱち!!)

ただ、ここで問題が発生します。。

『有限の事象をすべてシミュレーションして書き出す事が…果たしてできるのか!』という問題です。

たしかに
”現実に起こりうる事象とはすべて有限である”
と先ほど真理を述べました(誰がなんと言おうと真理だよ!)

しかし、有限であるからといって
”有限の事象をすべてシミュレーションして書き出す事ができる”
とは限りません。
どんな人間にもミスはあります。WEBで起こりうる事象は有限ですが、人間の頭のリソースだって有限です。

そして、重大なバグを生み出すわけです

(『じゃあ、いったいどうしたらいいの?』と、迷える子羊たちの声が聞こえてくる。)

DIVE-lamb_03-e1446463706639-300x161

その答えは簡単です!

『上級者のやり方を真似ればいい』

(『ぱちぱち』と、迷える子羊たちの拍手が聞こえてくる。)

stockvault-lambs-122647-300x158

じゃあ、上級者のやり方とは一体どういうものなのか検討していきましょう。
上級者は全ての条件をひとつひとつ、潰していっているのでしょうか?
いや、そんなことはしていません。

だって、
”プログラミングが上手い人ほどコードの量は少ない。”からです。

『なぜなのか?』

考えてみましょう。
なぜプログラミングが上手い人ほどコードの量を少なくできるのか?

ここに答えが存在します。

そして、この記事のタイトルに帰ってくる訳です。
プログラミングが上手い人ほどコードの量を少なくできるワケは

”プログラミング上級者は
『有限の事象をいかに綺麗に切り分けられるか』
を考えているからである”

(『なにいってんだ!こいつ!』と、あらぶる子羊(?)たちの怒号が聞こえてくる。)

DIVE-lamb_01-300x163

絵にするとわかりやすいです。
こんな感じ。

学生インターン

絵を見てもらえば分かるように、プログラミングが下手な人ほど、具体的に細かく条件分岐し対応しようとします。
そして、切り分けが細かい分、対応漏れが発生しやすくエラーを生む可能性が高くなります。

対して、上手な人というのは現実の事象を大きく切り分けます。
そして、汎用的なコードを生成し対応します。

ここなのです。ここが上級者と初級者の差なのです。

上級者、つまりプログラミングが上手い人ほど、

①現実の事象を正しく認識する

②現実の事象を大きく綺麗に切り分ける

③抽象度の高い汎用的なコードを書く

【結果】

”全体のコード量が少なくなる”

まとめ

  • WEBプログラミングに置いて、”現実に起こりうる事象はすべて有限である”
  • 適切に条件分岐を繰り返していけば、現実に起こりうる全ての事象に対応できる最強のコード群をつくり上げる事ができる
  • 困ったらプログラミング上級者のやり方を真似る
  • プログラミングが上手い人は、現実の事象を大きく切り分け、抽象度の高い汎用的なコードを生成し対応する
  • プログラミングが上手い人は、結果的に全体のコード量が少なくなる

(迷える子羊たちは満足げに帰っていきました。。)

DIVE-lamb_02-300x217


と先輩に伝授されました。
(※この物語はノンフィクションですが、独自の解釈と脚色が加えられています)


ツクルバでは、新しいメンバーを募集中!
興味のある方、ぜひお気軽にご応募下さい!