본문 바로가기

리팩토링4

Responsive Design - Kent Beck 올해 많은 세미나 중에 Software 공학의 대가라고 불리는 사람들의 방한은 큰 사건이 아닐 수 없다. 특히, 이러한 대가들이 모두 Agile, TDD, Refactoring을 공통적으로 이야기하고 있으며, 국내에서 그러한 주제에 대해서 관심의 시각이 늘어나고 있다는 것이 가장 주목할 만한 사건들인 것 같다. 다음은 Kent Beck 세미나의 주요 내용들이다. - Responsive Design은 테스트하기 쉬워야 한다. - 설정이나, 배포하기 어려운 구조 역시 설계 문제로 보아야 한다. - 개발의 목표(goal)은 기능의 안정된 흐름(steady flow of feature)을 추구해야 한다. 이는 responsive design을 통해 달성될 수 있다. - 기능을 추가하는 것(adding featu.. 2009. 9. 6.
Component Refactoring [6] 구현 컴포넌트 분석 - 컴포넌트 내부 분석 컴포넌트의 내부 분석은 상당한 노력과 시간이 요하는 작업이다. 특히, 이 작업을 수행할 때에는 내부 로직을 하나씩 세부적으로 분석할 필요가 있으며, 그러한 분석 내용은 차후를 위해 정리하는 작업도 같이 병행되면 더 좋다. 컴포넌트의 내부는 관련된 객체가 서로 결속력이 강한 형태를 이루어야 하는데, 컴포넌트 리팩토링 단계에서는 내부 결속력이 강하지 못한 객체를 중심으로 식별하여 리팩토링 대상을 삼는다. 또한, 더 세부적으로 기능의 유사성을 식별하여 재사용 가능한 형태의 구조까지도 리팩토링을 수행할 수 있다. 유형 - 너무 많거나 적은 책임성(Responsibility)을 가지는 클래스가 발생하는 현상. - 타 클래스와 협업(Collaboration)이 적은 클래스.. 2008. 11. 19.
Component Refactoring [2] 컴포넌트 리팩토링은 소프트웨어 개발주기에서 컴포넌트 설계 단계에서 발생되며, 최초 컴포넌트를 설계 후, 구현 및 테스트 과정에서 발생되는 컴포넌트의 품질 문제 해결을 위해서 다시 개발주기를 반복하는 과정에서 수행된다. 리팩토링 시점은 반복 설계 시점의 초반에 수행되며, 컴포넌트의 인터페이스 및 의존성에 대한 수정이 발생될 수 있는데, 이는 리팩토링된 컴포넌트를 통합하는 과정에서 발생된다. 2008. 11. 13.
Component Refactoring [1] 컴포넌트를 대상으로 하는 리팩토링은 그 작업 자체만으로도 많은 부분에 영향을 미칠 수 있다. 또한, 컴포넌트의 어떠한 부분을 초점으로 접근할 것인가에 따라 그 접근방법이 다양하고, 그에 따른 리팩토링 전략도 달라질 수 있다. 우선은 컴포넌트를 리팩토링을 하기 전에 컴포넌트가 갖게 되는 뷰에 따라 어떠한 품질 속성들을 요구하는지에 대해 살펴보면 아래 그림과 같다. 컴포넌트 기반 구조 (Component Infrastructure) - 컴포넌트의 기반 구조 차원에서 컴포넌트는 표준화(standardability), 유사성(conformability), 가용성(availability) 등의 품질 속성을 말할 수 있다. 이는 컴포넌트의 구조를 이루는 뼈대에 해당하는 부분이 얼마나 견고하고 일관성 있게 만들어졌는.. 2008. 11. 12.
반응형