プログラマメモ2 - programmer no memo2

[徒然]全てを満足させるのは不可能 2006/02/19
2006/11/26

開発を進めながら、はじめからすべてを把握することはできないなぁと考えていて、最後にはプログラムの進化(システムではなく)が止まり、だんだんコードがわけわからなくなっていくのか考えてみたけど、答えはです。



疑ってかからないといけないのは、はじめから不可能と言い切ってしまうことだけども、結論からのべるという習慣にしたがっていえば、全てを満足させるのは不可能だと思う。



ここで満足させるといっているのは、

1.システムの変更の容易さ

2.プログラムの対称性の維持



システムの変更要求は、ふってわいたようにでてくる。しかし、そんなに不条理なものでもない。開発者の立場からいえば、非常に面倒な場合が多いと思うけども、ユーザからの立場からいえば、至極もっともなもののが多い。突然、コンピュータが空を飛ぶようにしてほしいというようのことはもちろんない。何らかの変更要求は必ずある。



プログラムの対称性の維持といっているのは、抽象的な言い方になってしまうが、プログラムのどこをみても全体を想像できるようなイメージ。仕様書と対称となっているプログラム。対称性は容易にこわされる。テンポラリなフラグをもたせてみたり、オブジェクトを注入してみたりすることによってでも、簡単に対称性を壊すことができる。

: