![](https://cdn-ak-scissors.b.st-hatena.com/image/square/b7b0e2f6fff05c6fc2cadf55044d3fcb274b9205/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UHJpdmF0ZSVFMyU4MyVBMSVFMyU4MiVCRCVFMyU4MyU4MyVFMyU4MyU4OSVFMyU4MSVBRSVFNSVCRiU4NSVFOCVBNiU4MSVFNiU4MCVBNyVFMyU4MiU5MiVFNyU5MCU4NiVFOCVBNyVBMyVFMyU4MSU5NyVFMyU4MSVBNiVFNSVBRSU5RiVFOCVBMyU4NSVFMyU4MSU5OSVFMyU4MiU4QiVFMyU4MSU5RiVFMyU4MiU4MSVFMyU4MSVBRSVFNSVBRSU5RiVFOCVCNyVCNSVFMyU4MyVBMSVFMyU4MyVBMiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NmE3MTVjYWRhNWZjM2I5NzBlMDg5MmJjYjRlZjNlNzg%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBub3pvbWl0JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1hMGMyM2FiYzBjODYxNzQ1ZDA3YzNjYzQ4MjhkNGNhNw%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D4b79a21b9274a86b89ce9d2a986a9be7)
エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Privateメソッドの必要性を理解して実装するための実践メモ - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Privateメソッドの必要性を理解して実装するための実践メモ - Qiita
背景 2019年の4月から主にrubyで新機能開発を担当しています。 サービスリリース当初に実装され、その後... 背景 2019年の4月から主にrubyで新機能開発を担当しています。 サービスリリース当初に実装され、その後ほとんど改修されずにいたレガシーコードを、3年の月日を経て改修しました。 その過程でメソッドを公開すべきか非公開にすべきかに関して色々と考えることがありました。 ここでは自分のための整理を兼ねてまとめようと思います。 概要 クラスは果たすべき1つの責務を持ちます(単一責務の原則)。 その責務については、クラスができること・何をするのかを外部に公開、宣言します。 しかしながらそれをどのように実現するのかの詳細は内部に留めておきます。 言葉ではわかっていても、実行するのはまた少し次元が違う話です。 そこで、実際に概念を使いこなすために重要だと感じたり、先輩エンジニアの方からいただいた教えを以下の3つに分けて整理します。 クラスの責務を言語化する 最短で、負荷最小で解読できるか 仕様は変更