Upgrade to Pro — share decks privately, control downloads, hide ads and more …

一番小さなリファクタリングの話

 一番小さなリファクタリングの話

2022年7月28日 (株)ラクス様主催の 「リファクタリングLT 〜毎日こつこつちょっとずつ〜 」でLT登壇したときの資料です
https://rakus.connpass.com/event/250579/

Wikipediaによると、「リファクタリング」に明確な定義はないそうです。
毎日コツコツやる、小さなリファクタリングについて、お話します。
今、目の前にある開発中のコード、これが小さなリファクタリングのターゲットです。
「more better(より良い)」の探求を毎日積み重ねることで、大きなリファクタリングに向けた感覚の養成や、情報収集・知識強化のきっかけとすることができます。

Bf7fe621f4fe1615c228ef8a79b87282?s=128

ShirayanagiRyuji

July 28, 2022
Tweet

More Decks by ShirayanagiRyuji

Other Decks in Technology

Transcript

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

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

    1. 傾聴ベースのコミュニケーション 2. メンタルヘルス(セルフケア) 3. セルフマネジメント 4. 日々の生活の中からエンジニアリングを学ぶ
  3. リファクタリングとは… プログラムの外部から見た動作を変えずにソースコードの内部構造を整 理することである。 また、いくつかのリファクタリング手法の総称としても使われる。 ただし、十分に確立された技術とはいえず、また「リファクタリング」という 言葉に厳密な定義があるわけではない。 ※Wikipediaより

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

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

  6. 1. 一度書いたコードで満足していませんか • 必死で悩んで考えてデバッグして実行できたコード ◦ 尊いけれど、動いたら満足ですか? ◦ もっと良い書き方があるとは思いませんか? • 誰もが一度で最善(most)を達成はできない

    ◦ 計算の見直しとか重要ですよね! 白栁はしなかった人ですが…
  7. 2. レガシーコードはどこにあるのか • 数年が経過したシステムの中だけではない ◦ もっと身近にあるレガシー(古い)コード ◦ 既に記述されたコードは「古い」コード • 今の実装より良い実装があるのではないか?

    ◦ 「more better(より良い)」の探求
  8. 3. 小さなリファクタリングを繰り返す • 一度書いたコードはより良い実装を目指して改善 ◦ 「最善」では無いことは書いた本人が知ってる ◦ セルフレビューの一環 • 改善を繰り返す中でコードの質を上げていく

    • 厳密にはリファクタリングじゃないかも……? 厳密な定義は「ありません」!
  9. 4. 汚くてもいいからまず書く • いくら考えても「most」にはたどり着けない • どうせ後で書き直すのだから、最初は汚くていい ◦ まずは書くこと、次に動くこと! ◦ 可読性や動作速度改善は2の次3の次!

    • 極論:書いてから考える!
  10. まとめ • レガシーコードは目の前にある ◦ 書いたコードは既に「レガシーコード」 • 小さなリファクタリングを繰り返す ◦ 「more better」の無限の探索(時間は有限)

    • その繰り返しでリファクタリング感覚を養う
  11. ご清聴ありがとうございました エンジニアカウンセラー 白栁隆司 @ShirayanagiRyuj 「3回作り直せ」って言う人もいるらしい