5/27(Mon)

今日の生放送

リファクタリング入門

リファクタリング入門 -リファクタリング概要-

第1回:2016年12月5日公開

60min

リファクタリング入門 -リファクタリング概要-

おためし受講する(5分)

コース概要

リファクタリングってソースコードをきれいにすることでしょ、とここまでは、ソフトウェアエンジニアなら知っている方が多いはずです。でも、本当のリファクタリングは、もう少し厳密に定義があり、手順があります。その手順に従えば、設計を安全に変更できるのが、リファクタリングの醍醐味です。

本授業では、リファクタリングって何?というところから始め、リファクタリングの意義と概要を理解し、みなさんの開発現場で取り入れていくための手がかりになる内容まで学習していきます。

この授業の前提条件としては、基本的なJava言語が読める方を対象としております。

 

こんな人にオススメ

初めてリファクタリングの基礎を勉強するエンジニア初心者の方、リファクタリングを改めて体系的に学習したいエンジニアの方

担当の先生

パーソナリティ

  • 徳田 葵

    徳田 葵

    スクー放送部

参加したい受講生 : 629

カテゴリー

タグ

サンプルファイル

授業で使用するファイル

※授業以外での利用は禁止します。

月額980円で、4,600本以上の授業が見放題

授業リスト

リファクタリング入門 -リファクタリング概要-

2016年12月5日公開

60min.

リファクタリング入門 -問題発見方法とテストの作成-

2016年12月16日公開

60min.

◼︎ 授業概要
  • 問題の発見方法
  • テストコードの作成方法について学ぶ

 

スライド資料

リファクタリング入門 -基本的なリファクタリング-

2016年12月16日公開

60min.

◼︎ 授業概要
  • 主なリファクタリングの手法について学ぶ

  • 自己紹介
  • 02:18
  • 授業のアジェンダ
  • 00:53
  • 【先生からの質問】ご自身の開発現場でリファクタリングをするには 「勇気」 が 必要ですか?
  • 02:26
  • リファクタリング手順概要
  • 00:41
  • 手動リファクタリングの例
  • 02:46
  • リファクタリングの注意点
  • 05:11
  • リファクタリングの進め方
  • 00:40
  • リファクタリングをしてみよう
  • 00:04
  • 例:消費税の計算
  • 00:57
  • 例:Step1 問題候補の抽出
  • 01:08
  • 例:Step2 問題かどうかの判断
  • 00:40
  • 例:Step3 改善策の選択
  • 01:07
  • 例:Step4 リファクタリングの実施
  • 03:55
  • 例:Step5 自動テストの実行
  • 02:10
  • 各種リファクタリング
  • 00:14
  • リファクタリング手順の種類
  • 01:06
  • 書籍 「リファクタリング」 の手順の種類
  • 02:12
  • メソッドの移動
  • 03:34
  • クラスの抽出
  • 02:24
  • ポリモーフィズムによる条件記述の置き換え
  • 03:11
  • まとめ
  • 02:58
  • Q.読んだことはないのですがrubyでもリファクタリングの本が出ていたと思うのですが Webでもリファクタリングってあるんですか?
  • 02:37
  • Q.公開されている(public)なメソッド名は、外部の自分の手の届かない様々な場所で利用されていることが予想され、メソッド名の変更が難しい状況になりますが、どのように対処すればよいですか?
  • 02:42
  • Q.javascript,cssも今解説なさっているjavaとリファクタリングは同じ考えでよいでしょうか?ここが違うというところがあれば教えてください。
  • 01:31
  • Q.言語仕様によってリファクタリングカタログが利用できない時はどうすればよろしいでしょうか?リファクタリングをあきらめるしかないですか?
  • 01:57
  • Q.古い橋を壊すのに適したタイミングはどのあたりでしょうか?それとも、古い橋を壊さない方がよい時があるのでしょうか?
  • 03:51
  • Q.リファクタリングによる改善策が妥当な変更であるかどのように判断すればよいですか?特に
  • 03:01
  • お知らせ

スライド資料

リファクタリング入門 -パターンの適用-

2016年12月19日公開

60min.

◼︎ 授業概要
  • デザインパターンの適用に役立つリファクタリングの使用方法を学ぶ

  • 自己紹介
  • 01:38
  • この授業について
  • 01:29
  • 【先生からの質問】デザインパターンをご存じですか?
  • 02:37
  • デザインパターン概要
  • 00:11
  • 設定のノウハウ集・ベストプラクティス
  • 01:00
  • オブジェクト指向設計のデザインパターン
  • 02:03
  • デザインパターンを使うリファクタリングの注意点
  • 01:34
  • Stateパターンの適用
  • 00:07
  • stateの構造
  • 01:06
  • stateの例題 ”いもむし”モデル
  • 04:59
  • ”いもむし”モデルにstateパターンを適用した設計例
  • 08:48
  • if文を使わず、各状態クラスがシンプルに
  • 00:56
  • 【先生からの質問】Stateパターン適用後の設計に対して、以下のどちらが対応しやすいですか?
  • 01:43
  • stateパターン適用に向かない仕様変更
  • 01:14
  • Template Methodパターンの適用
  • 00:12
  • Template Methodの構造
  • 00:47
  • stateの例題 四則演算結果を表示するプログラム
  • 00:58
  • 処理の共通部分をいかに再利用するか
  • 01:01
  • getString()に対するテストを生成した設計例
  • 07:32
  • 共通部分をsuperclassに持ち上げ、サブクラスに個別の部分を残した
  • 00:24
  • 【先生からの質問】Template Methodパターン適用後の設計に対して、以下のどれが対応しやすいですか?
  • 02:27
  • Template Methodパターンに向かないルーチンの変更
  • 01:40
  • まとめ
  • 02:26
  • Q.テンプレートメソッドパターンを適用する場合、どの機能を使い、どこから手をつければよいか
  • 02:52
  • Q.状態クラスが増えた場合、サブクラス追加の影響範囲をうまく把握するにはどうすればよいか
  • 01:54
  • Q.リファクタリングした後の Caterpillar クラスの存在意義は何か
  • 02:14
  • お知らせ

スライド資料

リファクタリング入門 -実開発への適用-

2016年12月19日公開

60min.

◼︎ 授業概要
  • 実開発へ適用する際の留意点

  • 自己紹介
  • 01:25
  • この授業について
  • 00:38
  • アジェンダ
  • 01:18
  • 【先生からの質問】実際の開発現場でリファクタリングをするのは難しいですか?
  • 02:43
  • リファクタリングと設計
  • 01:43
  • ユーザーインターフェースのテスト
  • 03:09
  • リファクタリングをきっかけに良い設計を考える
  • 02:20
  • テストしやすくする手法
  • 04:48
  • コードの中に巨大なクラスがある場合
  • 02:17
  • 保持している属性を他のクラスに移動したい場合
  • 02:15
  • 外部ライブラリへの依存が多い場合
  • 02:37
  • チームで始めるリファクタリング
  • 06:21
  • チームでリファクタリングするならいつ行うべきか
  • 04:57
  • 全体的なリファクタリングを行う場合の方針の一例
  • 03:10
  • チームで持つ設計改善の目標設定のすすめ
  • 03:27
  • まとめ
  • 00:30
  • Q.XPはまだ今でもおすすめな開発方法ですか?
  • 01:46
  • Q.テスト&リファクタリング専門のスタッフは必要か
  • 01:42
  • Q.チームでリファクタリングをする場合、コーディング規約の類が必要かどうか
  • 03:00
  • Q.小さなステップで進めるとコードのどの部分の構造が良い設計かわかりづらいのではないか
  • 01:30
  • Q.コンポーネントの切れ目が場合によって変わるとき、自動テストはどのように整理すればよいか
  • 02:16
  • Q.よい設計の最終イメージ、ゴールをどのように把握すればよいか?
  • 02:49
  • お知らせ

スライド資料

プレミアム生放送

関連授業

人気の生放送授業

もっと見る

新着の生放送授業

もっと見る

アクティビティ