これ僕.com:行動分析学マニアがおくる行動戦略

意図と行動のギャップから生じる「不自由さ」への挑戦。果たして僕たちに自由はあるのか?

WEB+DB Press vol.33

WEB+DB PRESS Vol.33

WEB+DB PRESS Vol.33

構造化プログラミングの特集記事。
第1章にて、構造化で重要なのは

  1. 基本3構造(順次、分岐、反復)
  2. 段階的詳細化

である、と。
で、2つ目の段階的詳細化について、
ちょっと突っ込んだ話が載ってます。


さて。
この記事を読み終えた後に、
今まで自分の周りに転がっていたプログラムを思い起こす。
1つ目の基本3構造なんてのは、
今時のプログラム言語を使っていれば、
まぁ、知らないうちに使ってるよなー、と。
でも2つ目の段階的詳細化は・・・。
凝集度や結合度をちゃんと意識しているどころか、
サブルーチン化すらしていないコードがごろごろしてて、
Σ(゚д゚lll)ガーン
となったことがしばしば。
オブジェクト指向だとか、
テストファーストだとかいう前に、
こういうプログラマとしての基礎的なことを身につけないとね、と。


そう思う一方、
そういったことをやろうと思えばやれるにも関わらず、
やらない人達もいるな、と。
めんどくさいから、あるいは時間がないからなんて理由で、
(本当はちゃんとやった方が、結果的に手間も時間もかからないんだけど)
ベタベタと処理を羅列した1000行を超えるような関数が
生み出されていったりする。
技術を身につける一方で、
その技術をちゃんと使うためのモラルと雰囲気、
そんなのがプロジェクトには必要なのかな、と。