1. 경직성 : 무엇이든지 하나를 바꿀 때마다 반드시 다른 것도 바꿔야 하며, 그러고 나면 또 다른 것도 바꿔야 하는 변화의 사슬이 끊이지 않기때문에 시스템을 변경하기 힘들다.
2. 부서지기 쉬움 : 시스템에서 한 부분을 변경하면 그것과 전혀 상관없는 다른 부분이 작동을 멈춘다.
3. 부동성 : 시스템을 여러 컴포넌트로 분해해서 다른 시스템에 재사용하기 힘들다.
4. 끈끈함 : 개발환경이 배관용 테이프나 풀로 붙인 것처럼 꽉 달라붙은 상태다.
편집-컴파일-테스트 순환을 한번 도는 시간이 엄청나게 길다.
5. 쓸데없이 복잡함 : 괜히 머리를 굴려서 짠 코드구조가 굉장히 많다. 이것들은 대개 지금 당장 하나도 필요 없지만, 언젠가는 굉장히 유용할지도 모른다고 기대하며 만들었다.
6. 필요없는 반복 : 코드를 작성한 프로그래머 이름이 마치 '복사'와 '붙여넣기' 같다.
7. 붙투명함 : 코드를 만든 의도에 대한 설명을 볼때 그 설명에 '표현이 꼬인다' 라는 말이 잘 어울린다.
Java프로그래머를 위한 UML, 실전에서는 이것만 쓴다.
- 로버트 C.마틴(인사이트)
가장 기본적인 OOP의 원칙이지만, 제대로 하기는 쉽지 않다. 생각없이 코드를 만들어낸 후 내가 짠 소스를 보면서 중복코드와 라인수가 많은 메소드, 수많은 if들을 보면서 고통스러울때가 있다. 다음에는 꼭 그렇게 안해야지 하면서도 아직 내공이 부족하여 실행을 못할 경우가 많다.
최근 디자인 패턴, 코드질에 더 신경을 쓰는 이유는 이제는 노력을 더 해야겠다는 결심을 해서이다.
'중복코드 방지와 개발생산성 증대 및 유지보수를 편하게 한다' 는 대전제 아래 다시 한번 알면서도 제대로 행하지 못한 나의 잘못된 습관들을 refactoring하려고 한다.
2. 부서지기 쉬움 : 시스템에서 한 부분을 변경하면 그것과 전혀 상관없는 다른 부분이 작동을 멈춘다.
3. 부동성 : 시스템을 여러 컴포넌트로 분해해서 다른 시스템에 재사용하기 힘들다.
4. 끈끈함 : 개발환경이 배관용 테이프나 풀로 붙인 것처럼 꽉 달라붙은 상태다.
편집-컴파일-테스트 순환을 한번 도는 시간이 엄청나게 길다.
5. 쓸데없이 복잡함 : 괜히 머리를 굴려서 짠 코드구조가 굉장히 많다. 이것들은 대개 지금 당장 하나도 필요 없지만, 언젠가는 굉장히 유용할지도 모른다고 기대하며 만들었다.
6. 필요없는 반복 : 코드를 작성한 프로그래머 이름이 마치 '복사'와 '붙여넣기' 같다.
7. 붙투명함 : 코드를 만든 의도에 대한 설명을 볼때 그 설명에 '표현이 꼬인다' 라는 말이 잘 어울린다.
Java프로그래머를 위한 UML, 실전에서는 이것만 쓴다.
- 로버트 C.마틴(인사이트)
가장 기본적인 OOP의 원칙이지만, 제대로 하기는 쉽지 않다. 생각없이 코드를 만들어낸 후 내가 짠 소스를 보면서 중복코드와 라인수가 많은 메소드, 수많은 if들을 보면서 고통스러울때가 있다. 다음에는 꼭 그렇게 안해야지 하면서도 아직 내공이 부족하여 실행을 못할 경우가 많다.
최근 디자인 패턴, 코드질에 더 신경을 쓰는 이유는 이제는 노력을 더 해야겠다는 결심을 해서이다.
'중복코드 방지와 개발생산성 증대 및 유지보수를 편하게 한다' 는 대전제 아래 다시 한번 알면서도 제대로 행하지 못한 나의 잘못된 습관들을 refactoring하려고 한다.