SLAPとは
Single Level of Abstrustion Principle.
抽象化レベルの統一
書籍のように構成する
文書を書くとき、大見出し、中見出し、小見出しみたいに構成してわかりやすくすると思いますが、それと同じようにクラス・関数を構成すると可読性が上がります。
## 例
example.rb
class 会員管理クラス
def 会員登録関数
会員登録のデータを操作する関数
......
end
def 会員登録のデータを操作する関数
会員登録のデータをDBに保存する関数
......
end
private
def 会員登録のデータをDBに保存する関数
...
end
end
1 classに詰め込んだ場合の例です。実際にはclassも分かれることが多いと思いますが。
このように3段なら3段ですべてのコードを構成しておくと、「このプロジェクトはこういう構成なんだ」と読む側も意識できると可読性があがってGoodです。
つまり
書籍の目次をイメージするといい感じになるんじゃないかな。