リファクタリングについてのお話
TRANSCRIPT
![Page 1: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/1.jpg)
りふぁくたりんぐくそこーどだめ、ぜったい
12015/03/04/wed
![Page 2: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/2.jpg)
アジェンダ
• リファクタリングって?
• 手順?
• 話し合い
2
![Page 3: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/3.jpg)
リファクタリングって?
3
![Page 4: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/4.jpg)
具体的には…
•外部動作を据え置いて
•ソースコードの内部構造を整頓にすること
4
![Page 5: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/5.jpg)
簡単にいえば
•くそこーどを、綺麗にする
5
![Page 6: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/6.jpg)
リファクタリング推奨現場
• 動いているソースに触るな
• バグっていてもいい
• 動きゃいい
6
![Page 7: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/7.jpg)
是非変革しよう!
7
![Page 8: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/8.jpg)
手順?
8
![Page 9: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/9.jpg)
大まかに、5原則
• 車輪の再開発禁止
• 双方向呼び出し禁止
• 同一の処理をまとめる
• 引数をオブジェクト化する
• 命名規則?→募集中
9
![Page 10: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/10.jpg)
• commonクラスにまとめてライブラリ化
• オープンソースに貢献して、よりよいコードを提供する
• 過去の実績を利用する
車輪の再開発禁止
10
![Page 11: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/11.jpg)
• 依存性はなくしたい
• 結合しててほしくない
双方向の呼び出し禁止
11
![Page 12: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/12.jpg)
• コピペしない
• メソッド化する
• 委譲
同一の処理をまとめる
12
![Page 13: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/13.jpg)
• VO
• DAO
• DTO
• 管理しやすい
引数をオブジェクト化する
13
![Page 14: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/14.jpg)
• パッケージ名
• logic
• util
• helper
• 変数名、メソッド名
命名規則
14
![Page 15: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/15.jpg)
Fin.
15
![Page 16: リファクタリングについてのお話](https://reader034.vdocuments.pub/reader034/viewer/2022052401/55ad1a041a28abf83c8b47ff/html5/thumbnails/16.jpg)
話タイム
• リファクタリングについて
• きれいなコードをかくためにしていること
• きれいなコードとは
16