なぜ、SOLIDの単一責務の原則(SRP)は理解しにくいのか?
ARANK

はじめに単一責務の原則(SRP)は、SOLIDの中でも最も有名でありながら、最も誤解されやすい原則の一つです。名前だけ見ると、いかにも分かりやすそうです。単一責務という四文字は、いかにも「一つのことだけをやれ」と言っているように見えます。ところが現場では、この原則ほど人によって解釈がぶれるものもあまりありません。ある人は、SRPを「一つのクラスは一つのことだけをするべきだ」と理解します。ある人は「変更理由が一つであるべきだ」と理解します。さらにある人は「一つの関係者にだけ責任を負うべきだ」と理解します。どれも全くの外れではないのですが、どれか一つだけを掴むと、すぐに話が崩れます。ここに、分かりやすそうで分かりにくいという、この原則特有の厄介さがあります。しかもSRPは、コードの見た目だけでは判断できません。短くて綺麗なクラスがこの原則を守っているとは限りませんし、少し大きめのクラスでも、十分にこの原則を満たしていることはあります。見た目の小ささと、設計の正しさが一致しないのです。初学者ほど、まず見た目から判断したくなるので、ここで最初のつまずきが起きます。結局のところ、この原則が難しいのは、「どう書…

zenn.dev
Related Topics: Unity