Martin Fowler

A collection of 9 posts
리팩터링

선언된 순서를 변경하는 것은 리팩터링인가?

원문 : IsDeclarationOrderingRefactoring [http://martinfowler.com/bliki/IsDeclarationOrderingRefactoring.html]refactoring [http://martinfowler.com/bliki/refactoring.html]1 September 2004 RefactoringBoundary [http://martinfowler.com/bliki/RefactoringBoundary.html]. 자바 프로그램 내부에 있는 메소드와 필드가 선언된 순서를 변경하는 것은 리팩터링인가요? 근래의 프로그래밍 언어들은 내부에 선언되어 있는 요소들의 순서가 프로그램에 전혀 영향을 주지 않는다. 만약
2 min read
리팩터링

리팩터링 정의

원문 : DefinitionOfRefactoring [http://martinfowler.com/bliki/DefinitionOfRefactoring.html]refactoring [http://martinfowler.com/bliki/refactoring.html] 나(Martin Fowler)의 리팩터링 책에서, 리팩터링에 대한 몇몇 정의를 내렸다. 리팩터링 (명사): 소프트웨어의 내부 구조를 보다 이해하기 쉽고 수정하는 비용을 최소화 하도록 하는 변경. 이 때 “주목할 만한” 행동의 변경이 있으면 안 된다. 리팩터링
1 min read
리팩터링

발견하지 못한 버그를 수정하는 것은 리팩터링인가?

원문 : IsFixingAnUnknownBugRefactoring [http://martinfowler.com/bliki/IsFixingAnUnknownBugRefactoring.html]refactoring [http://martinfowler.com/bliki/refactoring.html]3 September 2004 RefactoringBoundary [http://martinfowler.com/bliki/RefactoringBoundary.html]. Przemyslaw Pokrywka가 매우 난해한 질문을 했다. 책 [http://martinfowler.com/books.html#refactoring]에서 소개한 리팩터링 중에 하나로 Introduce Null Object [http://www.refactoring.com/
3 min read
Active Record

Active Record

원문 : http://www.martinfowler.com/eaaCatalog/activeRecord.html 번역 액티브 레코드 테이터베이스의 테이블 또는 뷰의 레코드를 랩핑한 것에 해당 데이터를 사용할 도메인 로직을 추가한 객체이다. 자세한 설명은 P of EAA [http://www.martinfowler.com/books.html#eaa] 페이지 160을 참조. 데이터와 행위를 가지고 있는 객체이다. 여기 있는 데이터의 대부분은 영속성을
1 min read
자체 테스트 코드

Self Testing Code design

원문 : http://www.martinfowler.com/bliki/SelfTestingCode.html ‘자체 테스트 코드’는 리팩토링에서 기능적인 소프트웨어와 결합되어 전체적으로 자동화된 테스트를 언급하기 위해 사용했던 단어다. 이 단어를 이야기 할 때는 제일 먼저 XUnit 군의 테스트 프레임워크들이 생각난다. 테스트 주도 개발(TDD) [http://whiteship.tistory.com/176]은 자체 테스트 코드를 작성할 때
1 min read
Martin Fowler

TestDrivenDevelopment design

TestDrivenDevelopment design 원문 : http://www.martinfowler.com/bliki/TestDrivenDevelopment.html 테스트 주고 개발(TDD)는 테스트를 통해서 개발을 이끌어 내는 설계 기술이다. 본질적으로 다음 세 개의 단순한 단계를 반복하는 것이다. •    다음으로 추가하고 싶은 기능을 위한 테스트를 작성한다. •    테스트가 통과 하도록 기능 코드를 작성하라. •    전체적으로 구조화 되도록 새로운 코드와 기존의 코드를
2 min read
리팩토링

3장 코드 속의 나쁜 냄새 - 중복된 코드

1장 [http://whiteship.tistory.com/18]과 2장 [http://whiteship.tistory.com/22]을 통해서 리팩토링이 어떻게 돌아가는지 알게 됐습니다. 하지만 리팩토링을 어떻게 하는지 안다고 해서 할 수 있는 것은 아닙니다. 언제 해야 하는지를 알아야 하는데… 그게 어려운 것 같네요. 3장을 Kent Beck이랑 Martin Fowler가 썼는데도 명확한 시점이라기 어떤 “냄새”
2 min read
리팩토링

1장 리팩토링, 첫 번째 예제

먼저 리팩토링이란? 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법으로, 소프트웨어 시스템을 변경하는 프로세스이다. 이것은 버그가 끼어 들 가능성을 최소화하면서 코드를 정리하는 정형화된 방법이다. “코드가 작성된 후에 디자인을 개선한다.”물론 그 코드는 디자인을 거쳐 작성이 되었겠지만 코드가 디자인을 잘 따르지 않았거나 디자인이 잘 못 됐을 수도 있기 때문에 어감이 반대로
4 min read