- [ 학습기록/독서 ][Good Code, Bad Code] 2장 추상화 계층2024-02-01 04:05:53추상화로 문제의 본질에 집중하기 미술에서 "추상화"는 실제 대상을 단순화하거나 왜곡하여 본질을 강조하는 예술적 기법을 의미한다. 소프트웨어에서 추상화도 이와 유사한 의미를 갖는다. 추상화는 구체적이고 특정한 것에서 벗어나 핵심적인 특징에 집중하는 것이다. 🧑🎨 : 구체적인 부분은 무시하고 사물의 본질만 다룰 거야 🧑💻 : 세부 사항은 무시하고 핵심 기능에 집중할 거야 커다란 문제를 여러 개의 하위 문제로 쪼개면 한 계층에서는 쉽게 이해할 수 있는 소수의 개념만을 다룬다. 전체적으로 봤을 땐 규모가 큰 문제지만 개별 문제는 상대적으로 그 복잡도가 낮아진다. 가독성 - 모든 세부사항을 이해하긴 어렵지만, 작게 분리된 개념을 이해하는 것은 상대적으로 쉽다. 모듈화 - 계층을 분리함으로써 구현 사항이 다른 ..
- [ 학습기록/독서 ][Good Code, Bad Code] 1장 코드 품질2024-01-24 14:51:47개발자로 진로를 정한 후에 처음으로 내돈내산 한 코딩 관련 서적이다! (전공 서적, 선물 제외) 정말 유명한 도서들이 많지만 굳이 이 책을 고른 이유는 학습한 내용을 프로젝트에 적용하고 싶기 때문이다. 개발 서적을 구매하더라도 현재 진행중인 프로젝트와 맞지 않는 경우, 배운 내용을 곧바로 써먹기 힘들어 흥미가 떨어지고 학습 내용도 휘발된다. 하지만 코드 품질은 어느 프로젝트에나 적용할 수 있기 때문에 나의 수요와 딱 맞아 떨어졌다. 회사의 운명을 결정 짓는 코드 품질 이 책을 읽기 전까진 막연하게 유지보수의 용이성 때문이라고 생각했다. 하지만 코드 품질로 인해 한 기업이 망할 수도 있다. 고품질의 코드를 작성하기 위해서는 많은 노력이 필요하다. 코드 품질을 위해 꼼꼼히 개발하다가 다른 경쟁사의 제품이 먼..