반응형

refactoring 2판 3

[리팩터링] Refactoring 2판 - 6장

6장 리팩터링의 기본 중에서 가장 많이 쓰인다는 함수 추출하기, 변수 추출하기, 함수 인라인하기에 대해 공부했다. 함수 추출하기는 개발자들이 흔히 하는 리팩터링 중 하나라 이해하기 쉬웠지만, 함수 인라인하기는 많이 해본적 없어서 어려웠다. 함수 인라인하기에서는 로직 상 a함수와 b함수가 무조건 같이 호출 되는 경우에, 굳이 분리하는 것 보다 하나의 함수로 묶는것이 더 낫다고 한다. 6-1. 함수 추출하기 (Extract Function) ⭐️⭐️⭐️⭐️⭐️ 코드 조각이 하는 일에 따라 독립된 함수로 추출하고 목적에 맞는 이름을 붙이는 일 언제 추출하는가? 길이가 길 때, 재사용 가능 할 때, 목적과 구현을 분리할 때 절차 함수를 새로 만들고 목적을 잘 드러내는 이름을 붙인다(어떻게가 아닌 ‘무엇을’ 하는..

개발공부 2023.02.24

[리팩터링] Refactoring 2판 - 1장 2차

지난 게시물에서 리팩터링 했던 코드 중 일부 코드를 다시 리팩터링했다. 그 일부 코드만 다시 기록하려고 한다. 1. 각 공연별 총액, 좌석 표시하는 함수 getOnePlayInfo 원하는 출력 결과 Hamlet: $650.00 (55석) As you like it: $580.00 (35석) Othello: $500.00 (40석) - 기존 코드(map을 사용하여 문자열 더하기) // 출력결과에서 원하는 play 하나의 정보를 print 하는 함수 const getOnePlayInfo = (performanceInfos) => { let result = ""; performanceInfos.map((performance) => result += `\n${performance.play.name}: ${for..

개발공부 2023.02.20

[리팩터링] Refactoring 2판 - 1장

1장에서 리팩터링 예시로 든 공연료 구하는 코드를 리팩토링 해보기로 했다. ➡️ 공연료 청구서 출력하는 코드 리팩토링 하기 const plays = { "hamlet": {"name": "Hamlet", "type": "tragedy"}, "as-like": {"name": "As you like it", "type": "comedy"}, "othello": {"name": "Othello", "type": "tragedy"} }; const invoices = { "customer": "Amy", "performances": [ { "playID": "hamlet", "audience": 55 }, { "playID": "as-like", "audience": 35 }, { "playID": "othe..

개발공부 2023.02.16