プログラミング原則の一覧
Loose coupling(英語版)
Offensive programming(英語版)