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

RSpec 導入奮戦記その2 -決断編- / The struggle of introducing RSpec part 2

muryoimpl
December 23, 2019

RSpec 導入奮戦記その2 -決断編- / The struggle of introducing RSpec part 2

ESM Real Lounge 2019/12 の一幕

muryoimpl

December 23, 2019
Tweet

More Decks by muryoimpl

Other Decks in Programming

Transcript

  1. 1. 順番に一つずつやる • 教育的側面があるので、目先のスピードは元々捨てるつもりだった • まずテストだけ先に作成しようと決めた ◦ リファクタリングには相応の経験が求められる(難易度高) ◦ Pull

    Request作成・マージのスピードをある程度保ちたい ◦ 指摘でマージされずPR が溜まっていくのは精神衛生上避けたい ◦ あれもこれも中途半端でどれも破綻、というのは避けたい 7
  2. 2. 徐々に世界を拡げていく • 経験が浅いので作成・確認が容易なmodel/decoratorのテストから作成し ていく。後に request spec -> system spec

    をつくっていく • モブプロ形式でテストと対峙する => 知識の底上げ ◦ 基礎知識に差がつかないように、得た知識を共有できるように ◦ ドライバをころころ替える ▪ 当事者意識の演出、退屈しないように ◦ 様子をみて各自の作業のほうを増やしていく=>経験を増やす 14
  3. 2. 徐々に世界を拡げていく • 慣れてきたら各自でテスト作成 => モブプロで仕上げ ◦ PR で完結させることが可能なものは PR

    だけで完結させる ◦ 仕様に関する問題は事前に調査=>モブプロをスムーズにするため ◦ 問題解決だけでなく、チームの合意形成の場としても利用する • 私は難易度の高いモデルのテストを作成して参考実装を作成する ◦ 困ったときに参考にできる生の参考資料を作成する ◦ いわゆる「進研ゼミで見たやつだ!」をつくりあげる 15
  4. 現時点での計画 • 機能のエンハンスは期間限定で停止 。 ただ し、調査・修正は実施する。 ◦ なるべくテスト作成に力を注ぐため • 本体をリファクタリングしたい欲をぐっと堪え てテスト作成に専念する

    。 ◦ 実行単位の難易度を下げる ◦ いろんなところに波及しがちなのでテスト揃え てからやる • 難易度を考え、model のテストから順に作成 していくこととする。 ◦ テストのフィードバックが一番速いはず ◦ 容易なメソッドが多かったため ① ② ③ 当作戦は3期計画を予定している。 ① model/decorator/uploader テスト作成期 ② request spec, system spec作成期 ③ リファクタリング期 ※現在 ① 期後半戦 (作戦開始後ほぼ1ヶ月) RSpec導入奮戦記p5: https://speakerdeck.com/muryoimpl/the-struggle-of-introducing-rspec?slide=5 16
  5. 3. 私から(すすんで)答えを言わない 絶対にだ • 考える機会を奪わない。必ず一度は考えさせる。 ◦ 経験差がある、実装に不安があるので答えを求めがち => わかる ◦

    ただし目の前の作業をこなすのが目的ではない ▪ 教育的側面が大きいので、目先のスピードは捨てている ◦ 問題を解決”できるようになる” のが目的。 ◦ 判断力、調査力を活用してもらう • 相談はOK。いつでもバンバンして! ◦ 私は自ら答えを決して言わないが、ヒントや意見は伝える 20