2012年04月16日

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

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

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

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

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

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

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

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

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

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

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

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
×

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