728x90
반응형
- [ pinslog ][아무튼 필사] 내 코드가 그렇게 이상한가요? 5일차2023-12-22 23:01:595장 응집도 : 흩어져 있는 것들 5.5 매개변수가 너무 많은 경우 매개변수가 너무 많은 메서드는 응집도가 낮아지기 쉽습니다. 게임의 매직포인트(MP)를 예로 설명하겠습니다. PRG 같은 게임에는 매직포인트라는 개념이 있습니다. 이와 관련해 다음과 같은 사양이 있다고 합시다. 마법을 사용하면 매직포인트가 일정량 감소합니다. 회복 아이템 등을 사용하면 매직포인트가 일정량 회복됩니다. 매직포인트에는 최댓값이 있습니다. 매직포인트는 최댓값까지만 회복될 수 있습니다. 일부 장비는 매직포인트 최댓값을 높이는 효과가 있습니다. 설계를 따로 생각하지 않으면, 코드 5.23과 같은 로직이 만들어지기 쉽습니다. /** * 매직포인트 회복하기 * @param currentMagicPoint 현재 매직포인트 잔량 * @pa..
- [ pinslog ][아무튼 필사] 내 코드가 그렇게 이상한가요? 4일차2023-12-21 14:03:035장 응집도 : 흩어져 있는 것들 응집도(cohesion) 란 '모듈 내부에 있는 데이터와 로직 사이의 관계가 얼마나 강한지 나타내는 지표입니다. 모듈을 클래스, 패키지, 레이어 등을 모두 포함할 수 있는 용어입니다. 이 책에서는 쉽게 이해할 수 있게 모듈을 클래스라고 생각하겠습니다. 따라서 응집도를 '클래스 내부에 있는 데이터와 로직 사이의 관계가 얼마나 강한지 나타내는 지표'로 설명하겠습니다. 응집도가 높은 구조는 변경하기 쉬우며, 바람직한 구조입니다. 반대로 응집도가 낮은 구조는 변경 시 문제가 발생하기 쉽습니다. 응집도가 낮은 구조의 대표적인 예로 데이터 클래스를 소개했습니다. 하지만 데이터 클래스 이외에도 응집도를 낮추는 악마들이 있습니다. ... 5.3 범용 처리 클래스 (Common/Util..
- [ pinslog ][아무튼 필사] 내 코드가 그렇게 이상한가요? 3일차2023-12-20 18:33:402장 설계 첫걸음 2.1 의도를 분명히 전달할 수 있는 이름 설계하기 ... 이름을 짧게 줄이면, 입력해야 하는 글자 수가 줄어듭니다. 따라서 조금이라도 빠르게 구현할 수 있을지도 모릅니다. 하지만 이 코드를 다른 사람이 읽거나 시간이 지난 후 다시 볼 때는 읽고 이해하기 매우 어렵습니다. 입력할 때 시간보다 몇 배, 아니 몇십 배 이상이 필요할지도 모릅니다. ... 자주 바뀔 가능성이 있는 코드를 구현할 때는 '변수 이름을 쉽게 붙이는 것'도 아주 훌륭한 기본 설계가 될 수 있습니다. 의도를 쉽게 알 수 있는 이름을 붙이세요. ... 2.2 목적별로 변수를 따로 만들어 사용하기 ... 변수에 값을 다시 할당하는 것을 재할당이라고 합니다. 재할당은 변수의 용도가 바뀌는 문제를 일으키기 쉽습니다. 그러면 ..
- [ pinslog ][아무튼 필사] 내 코드가 그렇게 이상한가요? 2일차2023-12-19 23:11:33본문 1.3 수많은 악마를 만들어 내는 데이터 클래스 업무 계약을 다루는 서비스에서 계약 금액을 처리하는 요구 사항을 클래스로 구현해야 한다고 합시다. 아무 생각 없이 구현하면, 코드 1.5와 같은 클래스 구조가 만들어집니다. // 계약 금액 public class ContractAmount { public int amountIncludingTax; // 세금 포함 금액 public BigDecimal salesTaxRate; // 소비세율 } 세금이 포함된 금액과 소비세율을 public 인스턴스 변수로 갖고 있으므로, 클래스 밖에서도 데이터를 자유롭게 변경할 수 있는 구조입니다. 이처럼 데이터를 갖고 있기만 하는 클래스를 데이터 클래스라고 부릅니다. 그런데 데이터 클래스에는 데이터 뿐만 아니라, 세금이..
- [ pinslog ][아무튼 필사] 내 코드가 그렇게 이상한가요? 1일차2023-12-18 21:36:15들어가며 운동 주간이 끝나고 필사 주간이 다가왔다. 필사를 위해 내가 고른 책은 바로 내 코드가 그렇게 이상한가요? 이다. 내 코드가 그렇게 이상한가요? 공감 100% 나쁜 코드 사례로 배우는 지속 가능한 코드 설계 입문서. 객체 지향 설계를 통해 코드 품질을 높이는 방법을 설명한다. 설계를 고민하지 않고 작성한 코드는 오로지 한 치 앞만 바라본 www.aladin.co.kr 무슨 개발자 가슴 찢어지는 소리냐 싶겠지만.. 제목에 이끌려 책을 펼쳐봤다 구매해버린 이 책은 좋은 코드와 나쁜 코드의 예시를 통해 가독성을 높이고 유지보수를 용이하게 하는 좋은 코드를 작성하는 방법을 제시해준다. 나는 문학을 좋아해서 필사하고 싶은 책이 많았지만 그래도 지금 내가 개발 블로그에 포스팅하고 있기도 하고 겸사겸사 이번..
- [ 카테고리 없음 ][아무튼 운동] 남의 챌린지 7일차2023-12-17 18:20:43오늘도 역시나 추웠다. 아니 어제보다 기온이 낮아진 것이 느껴질정도로 더 추웠다! 그래도 옷을 챙겨입고 바깥으로 나섰다. 그리고 후회했다. 아 춥다! 너무 춥다! 이것만 반복하는 사람됨.. 한시간 가까이 걸었는데 애플워치는 삼십분만 운동했다고 한다.. 너무 추워서 손을 주머니에 넣고 걸어서 그랬던걸까 확실히 주말에는 활동량이 적어진다. 오늘로 운동 챌린지가 끝이나는데 이걸 100일동안 하겠다고 한 도삼은 정말 대단하고.. 일주일이지만 열심히 임한 루디와 나도 대단하다고 생각한다. 내일부터는 필사 챌린지다. 다음 챌린지도 무사히 해내고 100일 챌린지 잘 마무리 해보장구 우리 존재 화이팅
- [ pinslog ][아무튼 운동] 남의 챌린지 6일차2023-12-16 20:30:27오늘은 무지하게 추웠다. 요가는 할 수 없고...그래서 일단 나가서 걸었다. 바람이 어찌나 많이 불던지 날아갈뻔한 건 아니지만 정말 추웠다.. 나중에는 입이 얼어서 말도 잘 안나왔다. 오늘은 그동안 운동한? 후기에 관해 짧게 쓰려고 한다. 저번주까지 계속 먹어제꼈더니 세상에 태어나서 처음 보는 몸무게를 가지게 되었다. 그래서 이번주는 저녁 양을 줄이고 요가를 했다. 그랬더니 배가 조금 들어가는 경험을!!!! 했다. 역시 몸은 노력한만큼 결과를 보여 준다고 하더니 정말인가 보다...... 이제는 먹는 것을 좀 줄이고 많이 움직이는 것을 습관화 해야겠다고 마음을 먹었다. 이 마음이 언제 다시 숨어버릴지 모르는 일이지만 일단은 그렇게 다짐을 한다...큭큭 물구나무(머리서기)는 달마다 있는 이벤트 때문에 할 수..
- [ pinslog ][아무튼 운동] 남의 챌린지 5일차2023-12-15 09:27:56우와 벌써 5일차라니 시간 참 빠른것 같으면서도...아직 이게(운동) 안끝났다고...?싶기도 하다. 오늘은 저녁에 운동을 못 할 것 같아서 출근 전에 일찍 일어나서 운동을 했다. 개인적으로 공복에 운동하는 것을 잘 못해서 오늘은 늘 하던 동작을 다 하지는 못했고 수리야나마스카라 A 3세트, B 2세트만 진행하였다. 동작을 하면서는 다른 생각을 하면 바로 티가 난다. 몸이 흔들리며 중심을 잃게 된다. 그 순간에는 오직 내 몸에만 온 정신을 집중해야 한다. 그러다보면 내가 가지고 있던 걱정거리들은 잠시 자취를 감춘다. 나같이 생각도 많고 걱정도 많은 사람한테 요가는 아주 안성맞춤이 아닌가 싶다. 실제로 한창 요가원에 다닐때 그때 다니던 회사에서도 스트레스 받는 일이 무수하게 있었는데 요가하고 돌아오면 응? ..
728x90
반응형