This week I Learned 23

주영택·2020년 6월 9일
0

This Week What I Learned

목록 보기
21/50

A Philosophy of Software Design

서비스 코드 중 서포트 모듈의 역할을 어느 정도 할 것인지 좀 고민되어서 승건 팀장님께 조언을 구했다.

예를 들면 다음과 같은 목적을 이루기 위해 서포트 함수를 구현해야 한다면 어디까지 추상화하고 어디까지 인터페이스를 노출해야 할 것인지에 대한 패턴이다.

  • isOnlineFormat(any)
  • isOnlineFormatByFormatObject({ id, code })
  • isOnlineFormatById(id)
  • isOnlineFormatByCode(code)

이 정도가 구현할 함수들이고 외부로 노출할 것은 isOnlineFormat 으로 나머지 구현과 인터페이스에 대해서는 디테일을 감추는 것에 대해 이게 구린 것인지 여쭈었다.

답으로 받은 소개 받은 영상과 책: 그 중 deep module(deep interface)에 대한 내용이 포함된 강의 영상이다.

정리한 내용은 별도의 포스트로 작성해 봐야겠다.

하는 김에...

이거 하는 김에 요것도 추가하고...

스펙아웃의 중요성은 늘 강조되지만 개발 경력 백그라운드를 가지고 PM 을 하다보면 '이 정도는 포함해도 무리없...' 이런 생각을 하게 된다.

어짜피 잘해도 욕먹고 못해도 욕먹는다면 걍 안하는게 낫다.

일정대로 스펙을 산출하는게 프로젝트 매니저의 바른 모습이고 기획서에 정의된 대로 하는게 프로 개발자의 자세가 맞다. (유니콘인가?)

괜히 착한 사람 된다고 이것 저것 들어주기 시작하면 호구되니 조심해야 한다.

링크들

profile
NodeJS 백엔드 웹 개발자입니다.

0개의 댓글