
실습하기 - 은행 계좌(Account) 클래스 만들기 실패(질문) - 성공(응답)- 정제(리팩토링)의 단계를 밟아가며, 실습 진행 현재 계좌 클래스에서 필요한 기능은 위와 같다. 여기서 예상 복리 추가는 제외하고 실습을 한다. 기능 요구사항과 유의 사항은 아래와 같다. 1. 테스트 케이스 작성 case 1 : 구현 대상 클래스의 외형에 해당하는 메소드들을 먼저 만들고 테스트 케이스를 일괄적으로 만드는 방식 case 2 : 테스트 케이스를 하나씩 추가해나가면서 구현 클래스를 점진적으로 만드는 방식 case 1의 방식을 사용했을 경우에는, 모든 테스트가 정상 통과하는 올 그린(All Green) 상태에 이르기까지 긴 시간이 걸릴 수 있기 때문에 나는 case 2번 방식으로 진행 할 예정이다. 2. 프로젝트 ..

1. Refactoring 이란 무엇인가? Refactoring은 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법으로, SW 시스템을 변경하는 프로세스이다. Refactoring시 중요한 점 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 만드는 것, 겉으로 보이는 소프트웨어의 기능을 변경하지 않는 것이다. 따라서, Refactoring을 할 때는 기능을 추가해서는 안되고, 단지 코드의 구조에만 신경 써야 한다. Refactoring은 가동중인 프로그램을 취해서, 동작을 바꾸는 것이 아니라 우리가 빠른 속도로 개발 할 수 있도록 하는 특성을 좀 더 많이 주어, 프로그램의 가치를 높이는 것이다. 2. Refactoring을 왜 해야 하는가? Refactoring은 SW의 디자인을 개선시킨다. Re..

1. TDD(Test-Driven Development) 이란? 일반적인 개발 프로세스 일반적으로 개발 절차는 먼저 어떻게 개발할지 디자인하고 디자인을 바탕으로 실제 코드를 작성하고 최종적으로 테스트를 작동시켜보면서 개발하는 과정이다. TDD(Test-Driven-Development) 정확한 프로그래밍 목적을 디자인 단계에서 반드시 미리 정의해야만 하고 또 무엇을 미리 정의해야 한다. RED : 실패하는 테스트를 만들기 GREEN : 테스트에 통과할 만한 작은 코드를 작성하기 REFACTOR : 반복되는 코드, 긴 메소드, 큰 클래스, 긴 매개변수 목록 등등 코드를 좀 더 효육적으로 바꾸기 개발하는 과정에서 Test Script를 작성하고 코드를 Refactoring 했다는 점이 중요하다!! 2. TD..