728x90
반응형
- [ pinslog ][아무튼 필사] 7일차2023-12-24 21:16:318월에 읽었던 이슬아 작가의 가녀장의 시대 중 일부이다. 이슬아 작가님은 몇년 전 인스타그램에서 알게 되었는데 그땐 한창 나도 글을 좀 써보겠다고 난리(?)치던 시기였터라, 주변 사람들로부터 글 잘 쓴다, 더 써봐라 등등의 이야기를 들어 어느정도 자부심이 살짝쿵 있는 상태였는데..작가님의 글을 읽은 후 다시는 그런 마음을 가지지 않게 되었다. 내가 글 쓰는 행위를 사랑한다는 사실만 인정하기로 했다. 작가님의 글은 쉽게 읽힌다. 그러나 그 안에 놓여진 문장과 단어들은 고르고 골라 엄선된 것처럼 느껴진다. 글을 자유자재로 움직일 수 있는 사람같다. 대단하다. 글은 쓰는 것도, 읽는 것도 사람의 마음을 동하게 할 수 있다. 그런 글을 사랑하지 않기란 정말 쉽지 않다. 오늘로 필사 챌린지가 끝이 났다. 좋은 경..
- [ pinslog ][아무튼 필사] 6일차2023-12-23 11:55:25밀려드는 업무, 제때 제때 쳐내지 못하고 이리저리 끌려다니는 내 모습을 한때는 (바로 어제까지도) 꽤나 자조적으로 바라보고, 그럼에도 포기하지 못하고 그 일들에 매달리는 내가 애처롭게 느껴지기도 했다. 주변을 지나는 이들이 ‘뭐 저렇게 열심히 하지?’ 하고 비웃을까봐 겁이 났다. 불쌍해보일 것 같았다. 사랑하는 이에게 한차례 내 속내를 쏟아놓고 나서야 이 흔들리는 마음이 진정되었다. 그리고 본가로 돌아가는 길에 책을 읽는데 어쩜 내 맘을 이렇게 잘 아나 싶은 문구들이 눈에 콕콕 박혔다. 이제 다시 일어설 때라고 말해주는 것 같았다. 수 많은 실패는 늘 나와 함께였다. 더 이상 겁낼 것도 없다. 힘내자! 6-7월 쯤 읽었던 책이다. 책을 읽고 메모해두었던 것까지 함께 가져와봤다. 더운 날 땀을 흘리며 최선..
- [ 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 인스턴스 변수로 갖고 있으므로, 클래스 밖에서도 데이터를 자유롭게 변경할 수 있는 구조입니다. 이처럼 데이터를 갖고 있기만 하는 클래스를 데이터 클래스라고 부릅니다. 그런데 데이터 클래스에는 데이터 뿐만 아니라, 세금이..
728x90
반응형