추상화
Last updated
Last updated
가독성 좋은 코드를 작성하는 첫번째 원리 추상과 구체를 이해하자
추상화는 최소 정보의 단위를 묶어서 어떻게 부를 것이냐에 관점이며, 컴퓨터 과학은 이러한 추상화 과정이 조화롭게 겹겹이 쌓여서 만들어진다
예를 들어보자면 1bit를 1byte, 1word 등 0과 1로만 이루어진 단위를 우리는 훨씬 더 큰 단위로 묶어서 부를 수 있고 그 단위로 인해 어플리케이션에서 제어할 수 있는 부분의 범위를 넓힌다.
추상화 된 내용으로부터 구체적인 정보를 해석하지 못하는 경우
추상화 과정에서 중요한 정보를 부각 시키지는 못했을 때
상대적으로 덜 중요한 정보를 남기고 중요한 정보는 제거함
해석자가 동일하게 공유하는 문맥이 없을 때
중요한 정보의 기준이 다를 수 있음
도메인 영역 별 추상화 기준이 다를 수 있다는 걸 인지 해야함
잘못된 추상화가 야기하는 사이드 이펙트는 생각보다 정말로 크다.
적절한 추상화는 해당 도메인의 문맥 안에서 정말 중요한 핵심 개념만 남겨서 표현 하는 것
👉 가장 단순하면서도 아주 중요한, 고도의 추상적 사고 행위
단수와 복수를 구분하기
끝에 -(e)s 를 붙여 어떤 데이터가 단수인지, 복수인지 나타내는 것이 읽는이에게 중요한 정보를 전달 할 수 있음
이름 줄이지 않기
축약 할 때 효율성을 얻을 수 있으나 얻는 것에 비해 잃는 것이 큰 경우임
자제하는 것이 좋긴 하나 관용어처럼 많은 사람들이 자주 사용하는 줄임말 정도는 허용함
은어/방어 사용하지 않기
농담에서 파생된 용어나 일부 팀원, 현재 의 우리팀만 아는 용어 금지
새로운 사람이 팀에 합류 했을 때 이 용어를 단번에 이해 할 수 없는 단어는 사용 하지 말아야 함
도메인 용어 사용하기
도메인 용어를 먼저 정의 하는 과정이 필요할 수 있음
예시) 매장 정보 → shop? store?
좋은 코드를 보고 습득하기
비슷한 상황에서 자주 사용하는 단어, 개념 습득하기
예시) pool, candidate, threshold, etc
Example use case:
Example use case:
Example use case:
Example use case:
BAD!
GOOD!
BAD!
GOOD!
BAD!
GOOD!
BAD!
GOOD!
예시처럼 자주 사용 되거나 의미를 갖고 있는 숫자나 문자를 뜻 함