第11回rest勉強会 リファクタリング(クライアント編)

Post on 21-Jan-2018

504 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

リファクタリング クライアント編

AWS上で構築するRESTfulアプリ勉強会 ~Web開発ワークショップ~【第11回】

概要

概要1. 前回のおさらい 2. クライアントのテストの難しさ

概要1. 前回のおさらい 2. クライアントのテストの難しさ

リファクタリング=プログラムの動作を変えずに内部構造を改

善する

リファクタリングの方法1. メソッドの抽出 2.メソッドの移動 3.オブジェクトによるデータ値の置き換え 4.条件記述の分解 5.メソッド名の変更等々...

「リファクタリング カタログ」 でググってみてください

リファクタリングの手順1. リファクタリングすべきか判断する。 2. テストがあるか?なければ書く。 3. リファクタリングする 4. テストする 5. 1に戻る

「5. 1に戻る」、重要!

コードの匂い

リファクタリングすべきコードは

「匂う」

不吉な匂い1.重複したコード 2.長すぎるメソッド 3.巨大なクラス 4.多すぎる引数 5.変更の発散 6.変更の分散 7.属性、操作の横恋慕 8.データの群れ 9.基本データ型への執着 10.スイッチ文 11.パラレル継承

12.怠け者クラス 13.疑わしき一般化 14.一時的属性 15.メッセージの連鎖 16.仲介人 17.不適切な関係 18.クラスのインタフェース不一致 19.未熟なクラスライブラリ 20.データクラス 21.相続拒否 22.コメント

分類してみました1.激臭系 2.蓋を開けたら臭う系 3.メンドクサイ系 4.加齢臭系 5.生臭い系 6.汗臭い系 7.ウソ臭い系

ひとつだけ紹介1.激臭系• 長すぎるメソッド •巨大なクラス •多すぎる引数 •スイッチ文

概要1. 前回のおさらい 2. クライアントのテストの難しさ

クライアントプログラムの闇

• コールバック地獄 • イベントの嵐 • 状態依存

今回は

コールバック地獄

をちょっとだけ解消

ワークショップ

本日のメニュー1. 事前準備 2. Lesson1 TODO一覧表示のテスト 3. Lesson2 TODO詳細のデータ取得テスト 4. Lesson3 TODO詳細のデータ取得処理のちょっとリファクタリング

事前準備• gitのブランチを整える • 前回、前々回不参加の方はテーブル追加、列追加する

gitのブランチを整える

■masterブランチを前回の内容を終えた状態にする

■masterブランチを元に、今回の作業用である、 「vol/11」ブランチを作成する

人によって手順が違います!(重要)■前回の内容を途中までやった方 ■前回の内容を完了した方 ■今回から参加の方

gitのブランチを整える

http://

goo.gl/WEHXqXジーオーオー.ジーエル/ ダブリューイーエイチエックスキューエックス

ここに詳しく 書いております!

今回のマニュアルにリンクがあります。 ※後ほど説明

第5回と第6回に不参加の方は テーブル追加、列追加をする

各Lessonについては Qiitaの投稿で詳しく!

テスト結果

マニュアル(Qiita)

http:// goo.gl/YXKfevジーオーオー.ジーエル/ ワイエックスケーエフイーブイ

他の部分のテストコードも書いてみ

よう!

🍻飲みDev🍕 テーマ

top related