Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
設計とテストの必要性について考える
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
あけの
April 23, 2022
Programming
330
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
設計とテストの必要性について考える
あけの
April 23, 2022
More Decks by あけの
See All by あけの
Reactハンズオンラーニングを読んだので感想を語る
akeno
1
740
TypeScriptのエラー処理(ES2022の新機能を添えて)
akeno
3
3.1k
oapi-codegenを使ってみた
akeno
0
3k
こんな案件は嫌だ(※個人の感想です)
akeno
1
260
SQLアンチパターンから学ぶテーブル設計
akeno
0
800
VSCode Remote Containers のすすめ
akeno
0
380
Other Decks in Programming
See All in Programming
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
170
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
960
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
510
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
740
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
190
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
小さなアプリを作って公開するまで
onozaty
0
150
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.2k
Next.js: The final boss of Web Performance
guaca
0
390
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
240
Featured
See All Featured
Accessibility Awareness
sabderemane
1
290
Facilitating Awesome Meetings
lara
57
7.2k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Amusing Abliteration
ianozsvald
1
380
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
BBQ
matthewcrist
90
10k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.8k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
The SEO identity crisis: Don't let AI make you average
varn
0
630
Are puppies a ranking factor?
jonoalderson
2
4.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Transcript
@akeno_0810 2022.04.23 設計とテストの 必要性について考える つながる勉強会 #14
はじめに テストと設計が重要だということを 周りに語って広げることができる 目標 内容 用語の定義 今までのWeb系開発から得られた 「良かったこと」を話したい テスト=自動テスト(CIで回せるもの) 設計=どこにどんなコードを書くのかの考え方
About this talk
設計を考えなくても動く。 テストを書かなくても動く。 早く動くものを作るのが大事。 3年くらい前の私 積んでた本
出来るだけ早く動くものを作る これは正しい。 良さそうな設計を考えることは時間がかかる。 設計を守ってコードを書く、時にはリファクタリングするのは時間がかかる。 テストを書くのは時間がかかる。 動作が変わった時にテストを修正することにも時間がかかる。 テストの実行環境を整備することにも時間がかかる。 コストを支払ってでもやる価値はどこにあるのか?
設計とテストの必要性とは?
設計の必要性 変更への対応を最小限にする コピペコードを減らす DRY原則を守りやすい 共通部分の再利用 同じ変更を複数箇所で行う必要がなくなる 変更からの影響を最小限にする 作業領域の分担が容易になることによるスケール 他の作業からの影響を受けづらい 離れた箇所の変更の影響を受けない
コンフリクトの防止
テストの必要性 最低限の品質の保証 使用者を想定したコードが書ける テストを書く際にそのコードを呼び出す側の気持ちになる 実装者と使用者両方の視点からコードを検証できる 仕様・実装への理解が深くなる 変更のハードルを下げる テストを書いた部分は常に動作が保証されている コードの書き換えが気軽に行える 常に良いコードベースを保ちやすくなる
設計と テストの 共通項 +α 規模や期間が大きくなる ほど効果が高くなる 開発が進むにつれて、 コードに手を加えるのが 難しくなっていくため。 1つ1つのコードの役割が
明確になるため。 担当する機能への適切な テストが書ける。 テストが書きづらい→ 使いづらいということ。 設計が良くない可能性に 早く気付ける。 テストを書いていると、 設計を見直すことができる 変更に強い 設計をすればテストが 書きやすくなる
About this talk おわりに テストと設計が重要だということを 周りに語って広げることができる 目標 結果 テストが最低限の品質を保証すf
設計がテストのしやすさに繋がる、逆もあf この2つが変更の容易さと開発効率を決める ・設計について学ぶ際はどうテストしていくの かについて一緒に考えたい ・チームで認識を合わせることで必要のないや り取りが減る 取り組む際に考えたいこと
Thank you! お世話になっている本