1. 추상화추상이란 사물을 정확하기 이해하기 위해서 사물이 가진 여러 가지 측면 가운데서 특정한 측면만을 가려내어 포착하는 것이다. 즉, 핵심이 되는 측면만을 가려내고 나머지 측면은 버린다는 얘기와 같다.추상화 전과 후를 비교해 보자.추상화 전 추상화 후 추상화하기 전에는 질문에 대한 구체적인 답변이 포함되어 있다. 그러나 인간은 추상화 능력이 매우 뛰어나다. 추상화된 답변만 보고도 구체적인 내용에 대해서 예상할 수 있다. 마치 메서드 이름만 보고도 세부 내용을 어림잡아 생각할 수 있다.적절한 추상화는 복잡한 데이터와 로직을 단순화하여 이해하기 쉽도록 해준다.1-1. 추상화 방법적절한 추상화를 하기 위해서는 도메인 문맥 내에서 중요한 핵심 개념만 남겨서 표현하는 것이다. 중요한 정보는 가려내어 남기고, ..
1. 클린코드는 왜 필요한가?클린 코드의 주목적은코드가 잘 읽히기 위해 필요하다. 특히나 협업 프로젝트라면 다른 사람이 내가 작성한 코드를 기반으로 작업을 해야 할 수 있다. 이때, 나만 알아볼 수 있도록 또는 읽기 어렵게 작성한다면 추가적인 비용이 소모된다. 추가적인 비용이란 코드 작업 외에 코드를 이해하기 위한 시간이 소모됨을 의미한다. 심지어 시간이 지나고 본인이 작성한 레거시 코드를 보았을 때, 본인마저 이해를 못 하는 경우가 있다. 따라서 읽기 좋은 코드를 작성하여 코드를 이해하는데 발생하는 비용을 최대한 줄이는 게 좋다. 아래 그래프를 보면 다른 개발자 코드 작업하기의 비중이 8%이다. 다른 개발자의 코드를 작업하기 위해서는 먼저 작성된 코드를 이해해야 한다. 이 개발자가 스파게티 코드를 작성..