'anti-CPDD'에 해당되는 글 1건

  1. 2007/02/17 Taking Advantage of Object Orientation (17)
  • They are easy to notice in the code
  • They can be used to break code down into smaller, more understandable piece
  • They provide more flexibility. Seams that you introduce for testing might be useful when you have to extend your software
Working Effectively With Legacy Code (Paperback)

Feathers, Michael C. / Prentice Hall

OO 랭귀지가 가져다 주는 이익에 대해서는 기본서에서 부터 자세히 잘 나와있습니다. 현재의 랭귀지 패러다임으로 가장 인기있고, 현실적인 모습이는 생각이 듭니다. Working Effectively with Legacy Code를 보다가 그 중에 나온 몇가지 얘기들을 위에 적어봤습니다.

가장 많이 사용하는 자바와 C++, 그리고, 신흥강자 Ruby까지 모두 OO기반의 랭귀지입니다. 위에 OO가 가져다주는 장점을 세 가지정도 나열을 했습니다. 그 중에서 포인트가 될만한 단어를 빨간색으로 처리를 했습니다.

너무나 많이 듣는 얘기라, 더 자세한 설명은 피하겠습니다. 너무나 익숙한 문장입니다. 그렇다고 OO랭귀지로 만든 모든 코드가 위에 이득을 가질 수는 없습니다.

코드를 작성할 때 위에 사항을 항상 유념해서 코드를 만들어야 겠습니다.

과연 내가 만들어낸 코드는 테스팅이 가능한가? TDD로 개발을 하면 자연스럽게 가능해지는 부분이지만, 그게 어렵다면 코드를 작성후 테스트를 만들면서 코드를 테스트가 가능하게 리팩토링을 하세요. 사실 그것도 TDD입니다.

너무 많은 클래스를 보지 않아도 하나의 클래스에서 의도를 분명하게 알수가 있고, 코드를 읽기가 쉬운가? 좁은 의미의 변수와 클래스를 통해서 가능한 작게 만들고 위임을 적극 활용하세요. heavy한 모습보다는 주위에 자꾸 도움을 청하는 도움을 청하는 객체들과 나 자신의 객체가  cohesive해질때 객채들이 협업을 하는 아름다운 모습이 나옵니다.

항상 긴장하세요. 이득을 얻으려면 개발을 하면서 생각을 하고 위에 사항들을 지켜줘야 합니다. 처음부터 쉽지 않을수 있습니다. production코드도 시간을 가지고 만들고 관심을 가져야만 legacy code를 만들지 않을 수 있습니다.

그 무엇보다고 자신의 코드를 자주 들여다보는 것이 더 큰 공부가 될수도 있습니다.

코드를 작성을 할때 CPDD가 자주 일어나면 그 원인을 분석을 해보시고, 재사용을 할수 있게 문제를 해결해보시길 바랍니다.

http://www.ologist.co.kr/tag/CPDD



Posted by ologist
이전버튼 1 이전버튼

블로그 이미지
ologist

공지사항

Yesterday171
Today52
Total34,795

달력

 « |  » 2012.02
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

최근에 받은 트랙백

글 보관함