Slide 1

Slide 1 text

一番小さな リファクタリング の話 白栁隆司 2022年7月28日 リファクタリングLT 〜毎日こつこつちょっとずつ〜

Slide 2

Slide 2 text

自己紹介 エンジニアカウンセラー 白栁 隆司 Youtubeに動画投稿中! #ほぼ日ITエンジニアニュース @IT 自分戦略研究所 エンジニアライフにて「コレがワタシの生きる様」連載中(木曜日) ITエンジニアが永く活動する為のサポート活動 主に4つのことを、ITエンジニアに勧めています 1. 傾聴ベースのコミュニケーション 2. メンタルヘルス(セルフケア) 3. セルフマネジメント 4. 日々の生活の中からエンジニアリングを学ぶ

Slide 3

Slide 3 text

リファクタリングとは… プログラムの外部から見た動作を変えずにソースコードの内部構造を整 理することである。 また、いくつかのリファクタリング手法の総称としても使われる。 ただし、十分に確立された技術とはいえず、また「リファクタリング」という 言葉に厳密な定義があるわけではない。 ※Wikipediaより

Slide 4

Slide 4 text

一番小さなリファクタリングの話 1. 一度書いたコードで満足していませんか 2. レガシー(古い)コードはどこにあるのか 3. 小さなリファクタリングを繰り返す 4. 汚くてもいいからまず書く

Slide 5

Slide 5 text

宣伝(今回のお話関連) 今回のお話は、@IT 自分戦略研究所 エンジニアライフ にて、関連する話題を掲載しています。 『生き様153. 汚くてもいいからまず書く!』 是非ご一読下さい!

Slide 6

Slide 6 text

1. 一度書いたコードで満足していませんか ● 必死で悩んで考えてデバッグして実行できたコード ○ 尊いけれど、動いたら満足ですか? ○ もっと良い書き方があるとは思いませんか? ● 誰もが一度で最善(most)を達成はできない ○ 計算の見直しとか重要ですよね! 白栁はしなかった人ですが…

Slide 7

Slide 7 text

2. レガシーコードはどこにあるのか ● 数年が経過したシステムの中だけではない ○ もっと身近にあるレガシー(古い)コード ○ 既に記述されたコードは「古い」コード ● 今の実装より良い実装があるのではないか? ○ 「more better(より良い)」の探求

Slide 8

Slide 8 text

3. 小さなリファクタリングを繰り返す ● 一度書いたコードはより良い実装を目指して改善 ○ 「最善」では無いことは書いた本人が知ってる ○ セルフレビューの一環 ● 改善を繰り返す中でコードの質を上げていく ● 厳密にはリファクタリングじゃないかも……? 厳密な定義は「ありません」!

Slide 9

Slide 9 text

4. 汚くてもいいからまず書く ● いくら考えても「most」にはたどり着けない ● どうせ後で書き直すのだから、最初は汚くていい ○ まずは書くこと、次に動くこと! ○ 可読性や動作速度改善は2の次3の次! ● 極論:書いてから考える!

Slide 10

Slide 10 text

まとめ ● レガシーコードは目の前にある ○ 書いたコードは既に「レガシーコード」 ● 小さなリファクタリングを繰り返す ○ 「more better」の無限の探索(時間は有限) ● その繰り返しでリファクタリング感覚を養う

Slide 11

Slide 11 text

ご清聴ありがとうございました エンジニアカウンセラー 白栁隆司 @ShirayanagiRyuj 「3回作り直せ」って言う人もいるらしい