13章関心事の分離
アプリケーションのデータベーススキーマを変更した結果、システムが送信するメールのフォントサイズが大きくなったと想像してください。
なぜメールテンプレートのフォントサイズがデータベーススキーマに依存しているのでしょうか? 良い質問です。こんなことはあってはいけません。
一般的に、ビジネスロジックはユーザーインターフェイスに入れてはいけません。セキュリティ関連のコードのなかにデータのインポートとエクスポートを置いてはいけません。この原則は、関心事の分離として知られています。ケント・ベックの格言でも同じことを言っています。
同じ頻度で変更されるものは一緒にし、違う頻度で変更されるものは分ける[8]。
本書の全体的なテーマは、コードは脳に収まるべきというものです。7.1.3と7.2.7で主張したように、コードブロックは小さく独立するように保ちます。物事を分離するのが重要です。
7章では主に分解の原則としきい値について扱いました。大きなコードブロックを小さく分解するのはいつでしょうか? そしてなぜでしょうか? 7章では分解の仕方についてはあまり説明しませんでした。
本章ではこの疑問に取り組みます。
13.1 合成
合成と分解は複雑に関係しています。コードを書く究極の目的は、動作するソフトウェアを開発することです。物事は任意に分けることはできません。分解は重要ですが、図13-1で示すように分解したものを再度合成できなければいけません。
Get 脳に収まるコードの書き方 ―複雑さを避け持続可能にするための経験則とテクニック now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.