본문 바로가기

개발방법론

(3)
[개발방법론] 레거시 코드 활용 전략 최근 관심이 간 책 중에 하나가 "레거시 코드 활용 전략"이라는 책입니다. 프로그래머의 중요한 임무중 하나는 다른 사람 혹은 자신이 생산한 레거시 코드를 끊임없이 개선하고 재생산하는 것이라고 생각합니다. 실제로도 경험한 대다수의 업무가 그러했습니다. 해당 책을 읽기 전에 관련하여 내용을 정리한 좋은 포스팅이 있어 일부 내용을 발췌해보았습니다. 출처는 http://soomong.net/blog/2010/11/21/book-legacy-code/ 입니다. - 레거시코드가 왜 변경될 수 밖에 없는 것이고 그 변경을 단위테스트로 cover - 테스트코드를 작성하기 쉽도록 레거시코드를 어떻게 리팩토링하는가 - 레거시코드에서 (비교적) 안전하게 의존관계를 제거하는 방법 - 의존관계를 없애기 위해 실용적인 전략들 -..
[개발방법론] 테스팅 테스트는 소프트웨어 엔지니어가 해야하는 매우 중요한 작업입니다. 따라서 면접장에서 관련된 질문을 받을 수 있습니다. 물론, 여러분이 테스트 관련 직종에 지원하고 있다면(다시 말해 SDET(Software Design Engineer in Test) 또는 SET(Software Engineer in Test)로 지원하고 있다면) 당연히 테스트에 주의를 기울어야 할 것입니다. 테스팅과 관련된 질문들은 보통 다음 네 가지 범주 중 하나에 속합니다. (1)실생활에서 만나는 객체(펜과 같은)를 테스트 하라 (2)소프트웨어를 하나 테스트하라 (3)주어진 함수에 대한 테스트 코드를 작성하라 (4)발생한 이슈에 대한 해결책을 찾아내라. 이 네가지 범주 각각에 대한 접근법을 지금부터 살펴보도록 하겠습니다. 잘 정돈된 입..
[개발방법론] 개발방법론 관련하여 알아둘 팁 객체 지향 설계 단계적 접근 방법 단계1 : 모호성의 해소객체 지향 설계 관련 문제들은 대개 고의적인 모호성을 띱니다. 이를 해소하기 위해 여러분 스스로 가정을 도입하는지, 면접관에게 질문을 던지는지 살펴보기 위해서입니다. 결국, 무엇을 개발해야 하는지 이해하지 못한 상태에서 코딩부터 시작하는 개발자는 회사의 시간과 돈을 낭비하며, 그보다 더 심각한 문제들을 만들어 내기도 합니다. 객체 지향 설계에 관한 질문을 받으며, '누가' 그것을 사용할 것이며 '어떻게' 사용할 것이ㅏㄴ지에 대한 질문을 던져야 합니다. 질문에 따라서는 육하원칙에 따른 질문을 던져야 할 때도 있습니다. 누가, 무엇을, 어디서, 언제, 어떻게, 왜. 가령 여러분이 커피 메이커에 대한 객체 지향적 설계를 내놓으라는 요구를 받았다 가정해보..