2012年04月16日

よいコーディングとはなにか?

私が駆け出しプログラマーだったころからずっと疑問だったことがある。
それは「よいコーディングとはどういうコーディングなのか?」というものだ。

読みやすく、理解しやすいコーディング
必要なことしか書いてないコーディング
メンテナンスしやすいコーディング
データ中心に設計されているコーディング

いろいろな表現があるが、どれもどんぴしゃという感じがしなかった。
それが何十年もたった今になってようやく1つの答えを見つけた。

そのきっかけは、会社の若手社員の何気ない質問だった。
「アーキテクチャーって日本語ではなんというんですか?」

「構造よ。」と答えたあとで違和感が残った。建築物のつくりも「構造」というが、
システムの「構造」とは微妙に違う気がする。同じ「構造」なのに、どこが違うのだろう?

私のイメージでは、建築物の構造は「静的」、システムの構造は「動的」な感じがする。
なぜシステムは動的な感じがするのか?
それは、システムには動いているもの、流れるものが存在しているからだ。
してみると、自然界のシステム、交通システム、発電システム、
経営システム、どれもその中に流れているものがある。
何かの流れを制御して、目的を果たすのがシステムなのだ。

そういえば、システムにもよいシステムと悪いシステムがある。
悪い交通システムは頻繁に交通渋滞が発生する。
よい交通システムは、交通量が変動しても交通渋滞が発生しない。
つまり、流れが変動しても流れが滞ることなく、スムーズに流れるシステムが
よいシステムなのに違いない。

よりよいコーディングとは、よりよいシステムを作れるコーディングだ。

それはコーディングを流れるもの、つまりデータの流れ方がよく見え、
流れの変動・変化への対応が容易で、流れをスムーズに制御できるようになっている
コーディングなのだ。

こうして駆け出しプログラマの疑問は二十数年の時を経てようやく解決したのだった。
posted by koppe at 00:40| Comment(0) | その他 | このブログの読者になる | 更新情報をチェックする

2007年03月25日

「0からはじめる要求定義・要件定義」はじめました

 「0からはじめる要求定義・要件定義」というブログサイトを立ち上げました。
 いままで、知的生産性ということで徒然なるお話をここでさせていただいたのですが、本職のITに今までの議論を当てはめて見るとどうなるのか一度試してみたくなりました。
 今までの議論のエッセンスも入ってくるでしょうし、はたまた、まったく違う方向へ行ってしまうのかもしれません。
 ご興味のある方は一度覗いてみてください。
posted by mokuren at 21:53| Comment(0) | TrackBack(0) | その他 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。