원티드

원티드

[12월 프리온본딩] 비즈니즈로직 분리하기

📌 비즈니스로직이 뭘까? 우테코 프리코스 과제였던 로또게임을 예로 들어보자. 당첨번호와 입력번호를 받아서 당첨내역과 수익률을 출력하는 게임이었다. 한줄로 설명할 수 있는 간단한 게임이지만 '1~45 사이의 숫자 입력' '1000원 단위 숫자 입력' '5개 번호 일치 + 보너스번호 일치시 보너스당첨' 등 요구사항들을 모두 접목하다 보면 복잡해진다. 로또 게임에서의 입력을 버튼으로 가정하고 로직을 작성해 본다면 아래와 같다. 1. 구매금액 입력버튼 - 1000원 단위인지 숫자인지 유효성 검사를 한다. - 로또 구매 가능 개수를 계산한다. - '3장의 로또를 구매했습니다.' 와 같은 안내 문구를 출력한다. - 구매 개수에 따라 당첨 번호를 만들어서 출력한다. 2. 사용자 당첨번호 입력버튼 - 6개의 숫자로 이..

원티드

[12월 프리온보딩] 데이터/계산/액션 분리하기

✅ 코드가 복잡해지는 이유 강의에 따르면 개발자들의 고민 중 하나는 기존의 코드를 고치느라 시간을 많이 쓴다. 였다. 작은 기능을 위해 큰 비용을 지출해야 하는 것은 개발자 본인에게도 기업의 입장에서도 손해가 아닐 리 없다. “프로그램이 동작하도록 만드는 데 엄청난 수준의 지식과 기술이 필요하지는 않다. 언제든 어린 고등학생이라도 할 수 있는 일이다. (...) 전 세계의 수많은 초급 프로그래머가 칸막이로 나뉜 작은 사무실에서 이슈 추적 시스템에 등록된 거대한 요구사항 문서들을 순전히 강인한 정신력만으로 힘겹게 해결해 내면서 시스템을 '동작'하도록 만든다. 이들이 작성한 코드는 그다지 깔끔하지 않을 순 있지만, 동작은 한다. 프로그램을 동작하게 만들기는 그리 어려운 일이 아니기 때문이다.” - 클린 아키..

Summer.dev
'원티드' 카테고리의 글 목록