Scribble at 2023-11-16 10:07:17 Last modified: unmodified

添付画像

Push Ifs Up And Fors Down

もちろん、一般論としては明白だ。仮に、或るルーチンを一度だけ使うと仮定すれば、条件分岐した後に特定の条件で全てループさせるような処理を実行したほうが、条件を満たすか満たさないかわからないのに取り敢えず全てループさせてから個々に条件分岐させるなんて処理よりも効率がいいのは明らかだからだ。この記事の最後に出てくる実例で、プログラミングの経験がない方でも理解できると思う。GOOD のルーチンは条件分岐という処理を一度だけ通せば済むが、BAD のルーチンでは条件分岐を全ての場合に行っていて、無駄も甚だしい。

ただ、要件に従って必要な処理を「言葉のとおり」に、あるいは求められている目的を満たすようにプログラミングしていると、得てしてこんなコードを書いてしまいがちになる。そして、同じ結果を出すならもっと効率的なやり方があるということを見つけて処理全体を整える能力がプログラマには求められる。コーダとプログラマの一つの違いはそこにもあり、特に大規模な案件で作業しているコーダにはアルゴリズムを変更する権限というものがないのである。つまり、コーダとかプログラマといった違いは、職能の違いというよりも権限の違い、しかも合理的であるとは限らないビジネスでの責任分界という理由で区別されているだけかもしれないような違いに起因していたりする。なので、本来は多くのウェブ制作会社で働いている「エンジニア」などと更にややこしい自称を使っている人々にしても、コーダなのかプログラマなのかなんてことはかなり曖昧であって、また実務上はたいていどうでもいいことなのである。同じく、プログラマと僕らのようなアーキテクトも、結局は顧客の要求なり与件を整理したり、場合によってはビジネス目標から考えて与件そのものの変更にまで影響を与えるかどうかの違いなのだが、プログラマの多くもそういう仕事を(特に中小規模以下の案件では)することがあろう。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook