kawasaki.rb #114(オンライン)を開催しました #kwskrb
2022年11月30日(水)に, Discord にて kawasaki.rb #114 を開催しました。
Sustainable Web Development with Ruby on Rails 読書会
今回も引き続き Sustainable Web Development with Ruby on Rails (Sample) を読み進めていきます。
今回は「2–1 Business Logic Makes Your App Special. . . and Complex」からでした。
「2.1 Business Logic Makes Your App Special. . . and Complex」では、コードの複雑性には必要な複雑性と不要な複雑性が存在し、これらはまず区別していかなくてはならない、という説明から始まりました。また、ビジネスロジックの変更をチャーンと呼び、チャーンが増していくことでコードの複雑性が増していくことが結論付けられているという説明がありました。
「2.2 Bugs in Commonly-Used Classes Have Wide Effects」では、クラスの依存と被依存をファンイン、ファンアウトという用語で整理し、ファンインが高いクラスほど変更時にシステム全体への影響が高いという説明がされました。「2.3 Business Logic in Active Records Puts Churn and
Complexity in Critical Classes」では実際にクラス図を用いて説明しながら、サービスレイヤを設置してActiveRecordへのロジック追加を防止しつつ、ファンインを低下させる方法について解説されていました。
次回は「2.4 Example Design of a Feature」からです。
次回予告
次回は12/21 (水)に開催します。connpass及びTwitterでご連絡いたします。また、Slackもあるのでよければご参加ください。