세일!

테스트 자동화를 이용한 고품질 소프트웨어 개발(TDD+리팩토링)

440,000~880,000

테스트 자동화를 이용한 고품질 소프트웨어 개발

– 부제 : TDD + 레거시 코드 리팩토링을 이용한 고품질 소프트웨어 개발

– 일정 :

  • 4월 12일 9:00~18:00 (8시간) – 레거시 코드 리팩토링
  • 4월 13일 9:00~18:00 (8시간) – TDD

※ 수강신청시 레거시 코드 리팩토링 강의와 TDD 강의 모두 개별적으로 신청가능합니다.

– 강사 : 오재훈 (주)XPWorks 대표
– 참가비 : 88만원
– 최대인원 : 10명
– 장소 : 서울시 강남구 대치동 890-29 정인빌딩 9층

클리어

설명

오재훈 강사 소개

포스텍 컴공 석사 졸업후 20여년간 소프트웨어 개발을 해온 SW엔지니어이며, SW엔지니어들의 발전을 돕는데서 보람을 느낀다.
애자일 전문 컨설팅 및 교육 회사인 XPWorks를 최근에 창업하였다.

테스트 주도 개발, 레거시 코드 리팩토링, 클린 코드등을 주제로 개발자를 대상으로 20여회 이상의 워크샵을 진행하여 개발자들이 품질이 높은 코드를 개발하기 위한 방법과 노하우를 전파하고 있으며, 테스트 주도개발, 레거시 코드 리팩토링 위주의 엔지니어링 프랙티스 도입을 위한 컨설팅을 수행하고 있다. → 오재훈 코치 상세 소개

문의처: manager@slowcampus.com

준비물

노트북, JDK 7 이상, IDE(STS, Eclipse 혹은 IntelliJ IDEA)

TDD 강의 내용

TDD 워크샵에서는 새로운 요구사항을 TDD 사이클에 따라 분석하고, 테스트 코드를 만들고, 제품 코드를 작성하고, 리팩토링으로 중복을 제거하고 코드를 개선하는 체계적인 방법을 직간접적인 경험을 통해서 배울 수 있습니다.

TDD 사이클에 따라 요구사항을 분석하고 테스트 케이스를 작성하고 제품 코드를 개발하고 설계하는 과정을 경험할 수 있습니다.
리팩토링으로 코드를 점진적으로 변경하고 설계를 개선하는 방법을 배웁니다.
테스트 코드를 간결하고 유지보수 가능하도록 작성하는 방법을 배웁니다.
TDD 로 즐겁게 SW를 개발하는 방법을 배우게 됩니다.

레거시 리팩토링 강의 내용

1. 코드 품질과 기능 추가 속도
코드 품질과 기능 추가 속도와의 관계
이상적인 기능추가 속도
가독성이 코드 품질에 미치는 영향
가독성이 중요한 이유
2. 코드 스멜
코드 스멜 정의 및 목록 익히기
코드 스멜 찾기 훈련
코드 스멜 제거를 위한 리팩토링
3. Characterization Test
테스트 코드의 구조
효과적인 테스트
레거시 코드 테스트 코드 작성 방법
4. 레거시 코드 리팩토링
레거시 코드에 기능을 추가하는 방법들
Baby Step 을 이용한 레거시 코드 리팩토링
5. 의존성 제거하기
Glue Code, 의존성
의존성 깨기(Breaking Dependency)
의존성 주입하기(Dependency Injection)
Mocking
6. 객체지향 설계 원칙
SOLID : SRP, OCP, LSP, ISP, DIP
7. 설계 리팩토링 : 패턴 적용하기
a. Design Spectrum
– No Design — Simple Design — Over Engineering
– Up Front Design vs Emergent Design
b. 패턴
– Builder Pattern
– Template Method Pattern
– Strategy Pattern
– Factory Method Pattern
– Observer
8. 리팩토링과 역리팩토링
https://refactoring.com/catalog/

수강후기

Plus (좋았던 점)

– TDD 와 리팩토링에 대해 개념을 잡고 직접 따라해 볼 수 있어서 좋았습니다.
– 리마인딩하고 다시 좀 공부해야 겠습니다.
– 막연하게 TDD 가 필요하다는 것을 알고 있었지만, 어떻게 시작해야할지 몰랐는데, 어떻게 시작해야 할지 알게 되었습니다.
– 페어프로그래밍을 처음 해 보는데, 이야기도 나누고 다른 사람이 어떻게 생각하는지도 볼 수 있고, 도움도 받을 수 있어서 좋았습니다.
– TDD 에 대해 기존 블로그에서 제공하지 못한 상세한 설명이 좋았다.
– 좋은 직원 파트너를 만나서 감사했습니다. ( 류현오)
– IDE 를 사용해서 실질적인 테스트 코드, Pair Programming, 리팩토링 진행
– IDE 를 통해 실제 TDD 적용을 하는 방법을 볼 수 있어서 좋았습니다.
– TDD, 리팩토링의 개념을 알 수 있었다.
– 평소는 결과 먼저 생각 후 작성했었는데, 실패 Case 부터 작성하고 TDD 과정을 거치면서 더 간단한 로직을 구현할 수 있었다.

Minus (아쉬운 점)

– 시간이 좀 짧아서 조금 복잡한 코드에 대한 TDD 와 리팩토링을 경험할 수 있으면 좋을 것 같습니다.
– IDE 와 Java 에 익숙치 않아 따라갈 때 단축키를 몰라 힘들었습니다.
– 1일로 진행하기는 짧음
– 더 배우고 싶었지만 시간 여건 문제… 아쉽습니다.
– 동아리에서 진해하던 리팩토링 스킬적인 부분이 빠져서 아위운데 다음주에 할 것 같아요.
– 하루가 너무 짧네요. 다음 수업도 듣고 싶은데 궁금하고 아쉽습니다.

강의일정

  • 4월 12일 9:00~18:00 (8시간) – 레거시 코드 리팩토링
  • 4월 13일 9:00~18:00 (8시간) – TDD

※ 수강신청시 레거시 코드 리팩토링 강의와 TDD 강의 모두 개별적으로 신청가능합니다.

추가 정보

수강신청

레거시 코드 리펙토링 (4/12), TDD (4/13), 레거시 + TDD (4/12, 4/13)