という言が少し前にYahooにあった。
「言いがかり」はやめてくれ。
スパゲッティになって追いにくくなる事はCOBOLでもあり得た。それを改善するために、様々な事が行われてきた、例えば、初期処理、本処理、後処理に分けるとか...
スパゲッティになるのは、まず第一に開発者本人がスパゲッティにならないように注意せず、思いついたまま開発をしているから。それを阻止するため、設計から行うという知恵が発生したはずだ。それを守らず、思い着いたままプログラミングをしている。
設計をせず、突然プログラムを始めて、スパゲッティにならないのは、あまたの中で設計が完了しているからだと思える。
オブジェクト指向だと云々は、オブジェクト設計がなされていないか、または、オブジェクトとは何だと分からない人が設計をした場合に、よく起こる事だ。オブジェクト指向を分からない人は、理解しようとする前に、自分の経験した手法で理解しようとするからだ。と思う。
ホスト技術者からダウンサイジングして最後にオブジェクト指向にたどり着いた者としては、オブジェクト指向こそ凝集度を高められる手法と思っている。
但し、欧米系の人々は、オブジェクトになれているので、オブジェクトを見つけやすく、周囲の賛同(納得感)を得やすい。私達は、オブジェクトとは何なのかが理解しずらい。
更に、局面(解決すべきドメイン)により、オブジェクトのとらえ方は変化する。別の局面で同一オブジェクトが利用できないのは当たり前で、使いまわせないのも当たり前。但し、オブジェクトとしての識別は同じであるはず。
再度強調したいのは、スパゲッティになるのは手法の問題ではない!と言う事。