Single Responsibility Principle (SRP)
A module should have one, and only one, reason to change.
一個模組應當有一個,且只有一個會改變的理由。
如果不好理解其定義的話,在Clean Architecture中有提到其最終版為,
一個模組應當只對唯一的一個角色負責。
其影響力無遠弗屆,從模組、類別到方法都能見其身影。
討論code的時候,需要先建立彼此的共識。
理解對方對code職責的定義,往往是很有幫助的。
這段Code的職責在你的定義下是做什麼的?用來解決什麼問題?
它的服務對象是誰?任務目標是什麼?
最近讀Refactoring時,討論到變數命名時,應只被設定一次。
Kyo 提出,這不就是變數的單一職責原則嗎?
ʕ •ᴥ•ʔ:所有Clean Code的原點,也是我最喜歡的原則。
跟 91 coaching 討論時,有提到需求改變時,只需要改變一個地方,
也是另一種檢驗的方式。