banner

소식

Oct 28, 2023

TCR(테스트 및 커밋) 연습 방법

InfoQ 홈페이지 기사 TCR(테스트 && 커밋 || 되돌리기)을 실행하여 배치 크기를 줄이는 방법

2023년 2월 20일 13분 분량의 읽기

~에 의해

필립 부르가우

검토자

매트 캠벨

얼마 전 동료와 저는 파리에서 열린 컨퍼런스에서 코드 카타를 실행했습니다. 마지막에 사람들이 표현한 학습 내용은 다음과 같습니다.

나는 작은 단계를 밟고 있다고 생각했지만 더 작게 만들 수 있다는 것을 발견했습니다!

아직 TDD 자체에 대한 경험이 더 필요합니다!

ScyllaDB는 높은 처리량과 짧은 대기 시간이 필요한 데이터 집약적 앱을 위한 데이터베이스입니다. 가장 낮은 TCO로 최대의 확장성을 달성하세요. 더 알아보기.

끝없는 리팩토링에 빠져버렸습니다.

이제 DevOps와 Continuous Delivery가 업계에 널리 퍼져 있습니다. 하지만 작업이 작은 조각으로 이루어지고 지속적으로 통합되고 함께 플레이됩니까? 많은 팀이 여전히 전체 기능만 통합하여 기능 분기를 사용하여 작업하고 있습니다.

아주 어린 단계에서 코드를 작성하는 것이 개발자의 제2의 천성이 된다면 좋지 않을까요? 트렁크 기반 개발, DevOps 및 지속적 전달의 잠재력을 최대한 활용하세요!

TCR은 아기 단계에서 코드를 작성하도록 강요하는 기술입니다! 또한 가혹하지만 효과적인 교사이기도 합니다. 그것에 대해 더 자세히 알아 보겠습니다. 개발자가 이를 어떻게 사용하여 보다 지속적인 전달을 수행하고 팀원을 지도하는지 살펴보겠습니다.

TCR은 테스트 및 커밋 또는 되돌리기를 나타냅니다. 테스트 명령을 test && commit || 되돌리기 명령. 따라서 개발자는 코드가 작동하는지 확인하기 위해 테스트를 시작하는 대신 TCR 명령을 실행합니다. 코드가 예상대로 작동하면 TCR은 이를 버전 제어 시스템에 커밋합니다. 코드가 작동하지 않으면 TCR은 코드를 최신 작업 상태로 되돌립니다!

TCR은 오슬로의 코드 캠프에서 Lars Barlindhaug, Oddmund Strømme, Ole Johannessen 및 Kent Beck의 미친 실험으로 시작되었습니다. Kent Beck은 자신의 블로그를 통해 이 소식을 전파했습니다. Kent Beck은 어리석은 아이디어를 시도해야 한다고 주장합니다. 때로는 그것이 훌륭한 것으로 판명되기 때문입니다! TCR이 멍청한지 아니면 뛰어난지 여부는 여전히 공개된 질문입니다. 그러나 그것을 오랫동안 고수하는 사람들은 그것이 빛을 발한다고 생각합니다!

원천

당신은 뭔가를 배울 의무가 있습니다. (TCR 시도에 대한 Kent Beck)

실제로 TCR을 진지하게 시도한 개발자들은 다음과 같은 많은 이점을 보고했습니다.

그들이 말하는 것을 직접 읽어보자. 다음은 TCR 실무자 두 명과의 인터뷰입니다.

안녕하세요 Guillaume. 귀하에 대해 몇 마디 말씀해주실 수 있나요?

기욤 파스 : 확신하는. 제 이름은 Guillaume이고 현재 Vonage에서 .NET Developer Advocate로 일하고 있습니다. 저는 .NET 생태계에서 거의 15년 동안 소프트웨어 업계에 종사해 왔습니다. 그러나 내 경력에서 하나의 이정표를 선택해야 한다면 그것은 역할이나 프로젝트가 아니라 소프트웨어 장인 정신에 대한 인정일 것입니다. 실제로 이는 소프트웨어 개발에 대한 나의 견해를 크게 바꿔 놓았습니다. 이전과 이후가 있습니다. 그 이후로 저는 지속적으로 그 사고방식과 그 가치를 전파하려고 노력하고 있습니다.

TCR 스토리를 공유해 주실 수 있나요? TCR에 어떻게 참여하게 되셨나요? 첫인상은 어땠나요?

파스 : 당신이 묻는 게 웃기네요. 제가 TCR을 처음 접한 것은 워크숍 중 하나였습니다. 특히 Software Craftsmanship Luxembourg 모임의 볼링 게임이었습니다. 워크숍이 너무 재미있고 유익했던 기억이 납니다. 그러나 불행하게도 우리의 초기 단계는 그리 작지 않았고 변경 사항을 저장하는 것을 두려워하기 시작했습니다. 그럼에도 불구하고 더 연습하겠다는 의지로 들뜬 마음으로 나왔습니다.

오늘은 TCR을 어떤 용도로 사용하시나요?

파아스: 완전히 투명하게 하기 위해 Murex 기술 코칭 팀이 구축한 도구를 통해 TCR을 적용합니다. 저는 주로 코칭 세션 중에 카타용으로 사용합니다. 더 많은 아이디어를 제공하고 반드시 어렵지는 않기 때문에 TDD를 가르치는 좋은 방법입니다. 프로덕션 코드에도 사용했지만 사람들에게 주의하라고 조언하고 싶습니다. 모든 테스트가 매번 통과하는지 확인하면 피드백 루프가 크게 느려질 수 있습니다. 마지막으로 후보로서 기술 테스트에서도 사용했습니다.

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

공유하다