banner

ニュース

Oct 28, 2023

TCR (テストとコミット) の実践方法

InfoQ ホームページ アーティクル TCR (テスト && コミット || 復帰) の実践によりバッチ サイズがどのように削減されるか

2023 年 2 月 20 日 13 分で読む

による

フィリップ・ブルゴー

によってレビュー

マット・キャンベル

少し前、同僚と私はパリのカンファレンスでコード kata を実行しました。 最後に人々が表明した学びの種類は次のとおりです。

小さなステップを実行していると思っていましたが、さらに小さくできることがわかりました。

TDD 自体については、まだまだ経験が必要です。

ScyllaDB は、高スループットと低遅延を必要とするデータ集約型アプリ用のデータベースです。 最小限の TCO で究極のスケールを実現します。 もっと詳しく知る。

終わりのないリファクタリングに迷ってしまいました。

現在、DevOps と継続的デリバリーは業界に広く普及しています。 しかし、仕事は小さなスライスで行われ、継続的に統合され、遊んでいるでしょうか? 多くのチームは依然として機能ブランチを使用して、完全な機能のみを統合しています。

開発者にとって、コードを少しずつ書くことが自然になったら素晴らしいと思いませんか? トランクベースの開発、DevOps、継続的デリバリーの可能性を最大限に発揮します。

TCR は、非常に早い段階でコードを書くことを強制するテクニックです。 厳しいけれど有能な先生でもあります。 それについてもっと学びましょう。 開発者がこれを使用して、継続的デリバリーを強化し、チームメイトを指導する方法を見ていきます。

TCR は、テストとコミットまたはリバートの略です。 test コマンドを test && commit || に置き換えます。 元に戻すコマンド。 したがって、開発者は、コードが動作していることを確認するためにテストを起動する代わりに、TCR コマンドを実行します。 コードが期待どおりに動作する場合、TCR はそれをバージョン管理システムにコミットします。 コードが機能しない場合、TCR はコードを最新の動作状態に戻します。

TCR は、オスロのコード キャンプ中に Lars Barlindhaug、Oddmund Strømme、Ole Johannessen、Kent Beck によるクレイジーな実験として始まりました。 その後、ケント・ベックはブログを通じてその言葉を広めました。 ケント・ベックは、愚かなアイデアは時々素晴らしいものになるので、試してみるべきだと主張しています。 TCRが愚かであるか、それとも優秀であるかはまだ未解決の問題です。 しかし、十分長く続ける人は、それが啓発されていることに気づきます。

ソース

必ず何かを学べるはずです。 (ケント・ベック、TCRの試みについて)

実際、TCR を真剣に試した開発者は、多くの利点を報告しています。

彼らが何を言っているかを直接読んでみましょう。 ここでは 2 人の TCR 実践者へのインタビューを紹介します。

こんにちはギョーム、あなた自身について簡単に教えていただけますか?

ギョーム・ファース : もちろん。 私の名前は Guillaume です。現在、Vonage で .NET Developer Advocate を務めています。 私はソフトウェア業界に 15 年近く従事しており、ずっと .NET エコシステムに携わってきました。 しかし、私のキャリアの中でマイルストーンを 1 つ挙げるなら、それは役割やプロジェクトではなく、ソフトウェア クラフツマンシップを認められたことでしょう。 実際、それはソフトウェア開発に対する私の見方を劇的に変えました。以前とその後があります。 それ以来、私は一貫してこの考え方とその価値観を広めようと努めています。

TCR ストーリー、つまり TCR に参加した経緯を教えていただけますか? 第一印象は何でしたか?

ファアス :面白い質問ですね。 私の最初の TCR との出会いは、ワークショップの 1 つ、具体的には Software Craftsmanship Luxembourg ミートアップでのボウリング ゲームでした。 ワークショップはとても楽しくて勉強になったのを覚えています。 しかし、残念なことに、私たちのステップはそれほど小さくなく、変更を保存するのが怖くなり始めました。 それでも、私はもっと練習するという意欲を持って興奮して試合を終えました。

今日はTCRを何に使いますか?

ファアス:完全に透明性を保つために、私は Murex 技術コーチング チームが構築したツールを通じて TCR を適用しています。 私は主にコーチングセッション中の型に使用します。 これは、より多くのアイデアをもたらし、必ずしも難しいものではないため、TDD を教えるのに最適な方法です。 私は製品コードでも使用しましたが、注意することをお勧めします。 すべてのテストが毎回合格することを確認すると、フィードバック ループが大幅に遅くなる可能性があります。 最後に、私も技術テストの際に候補として使用しました。

&& git commit -am "TCR" || git restore. /p>

共有