400
Post/Edit Page
優れたプログラム設計とは何かについて、後輩に話した内容を一行に要約。優れた設計とは「事前に定めた設計戦略を実現している設計」のことである。立てた戦略が正しい選択であれば完璧だ。しかし、仮に間違った戦略を選んでしまっても、その戦略が余すところなく実現できているのなら、戦略なき設計よりはまだ良いと私は思う。▼教本めいた言い方をすれば、少なくとも次の五本柱は互いに牽制しあう戦略だという認識が要る。五本とは即ち、安全性、保守性、可読性、高速性、拡張性。▼可読性が高いゆえに保守性が良いということもある。安全だからこそ拡張しやすいこともある。ひとつの戦略の追及が必ずしも他を阻害するわけではない。しかし、相容れないケースが多いのも事実だ。だからこそ選んだ戦略を正しく実現できているかどうかが設計の優秀さを決める。新人に保守させるべきワンオフのコードに、高速性と拡張性を追及した完璧な構造化――ただの害悪だ。
pass:
Draft