- Web Engineer
- アウトバウンド営業
- Webエンジニア(リーダー)
- Other occupations (17)
- Development
- Business
※弊社エンジニアの記事になります。
はじめに
今回はTDDについて学習したので、そのまとめになります。
学習といっても、TDDという開発手法は奥が深く、またそれを使いこなすのはそれ何に難しいということで、何となくの雰囲気を掴んでやってみることを目標にしています。
すごく単純化したケースを題材にしているので、とっかかりになれば幸いです。
TDDとは
Test-Driven Developmentの略で、日本語ではテスト駆動開発という開発手法。
すごく雑に表現すると、テストを先に書き、そのテストが通るように実装し、そして内容を修正して綺麗にしていくやり方になります。はじめにテストについて調査し、整理しています。
TDDの基本的な考え方
2つの原則
- 自動化されたテストが失敗した場合だけ、新しいコードを書く。
- 重複を除去する。
テストが先行するので、(初回は)落ちる前提のテストを作って、それを通る実装をするのが基本的な流れになります。
重複を削除というのは、例えばテストを通すために書いたコードで、共通化できるところは共通化していく、そんなイメージです。
また、TDDでの開発サイクルは大きく「レッド、グリーン、リファクタリング」の3つで構成されています。
レッド
動作しない、おそらく最初のうちはコンパイルも通らないテストを1つ書く
KentBeck. テスト駆動開発 (Japanese Edition) (p.6). Kindle 版.
グリーン
そのテストを迅速に動作させる。このステップでは罪を犯してもよい。
KentBeck. テスト駆動開発 (Japanese Edition) (p.6). Kindle 版.
※ここでの「罪」とは、良い設計とされる様々な原則を無視したコードを書くこと。
「普通ならそう書かないでしょ...」なコードも、このステップでは一時的に許されます。というのも、次のステップでリファクタが待っているためです。
リファクタリング
テストを通すために発生した重複をすべて除去する
KentBeck. テスト駆動開発 (Japanese Edition) (p.7). Kindle 版.
TDDで機能を作ってみよう
概要を抑えたので、早速TDDを意識して機能を作っていきましょう。
今回は、メモアプリのメモ登録機能APIを実装…
記事の続きは下のリンクをクリック!
https://rightcode.co.jp/blog/information-technology/tdd-laravel-syain
【2024年卒】新卒採用エントリー開始しました!
特設ページはこちら:https://rightcode.co.jp/recruit/entry-2024
インターン募集!未経験ok、チャレンジ精神ある方求む
メディア運営:https://rightcode.co.jp/recruit/intern-media
社長と一杯飲みながらお話しませんか?(転職者向け)
特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk
もっとワクワクしたいあなたへ
現在、ライトコードでは「WEBエンジニア」「スマホアプリエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「エンジニアリングマネージャー」「営業」などを積極採用中です!
有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。
- もっと大きなことに挑戦したい!
- エンジニアとしてもっと成長したい!
- モダンな技術に触れたい!
現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?
ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。
- ライトコードの魅力を知っていただきたい!
- 社風や文化なども知っていただきたい!
- 技術に対して熱意のある方に入社していただきたい!
一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。
【コーポレートサイト】https://rightcode.co.jp/
【採用募集】https://rightcode.co.jp/recruit(こちらからの応募がスムーズ)
【wantedlyぺージ】https://www.wantedly.com/companies/rightcode