Day2 추상과 구체 -Readable Code

 

image

Readable Code에 대한 추상과 구체

추상과 구체=추상(데이터)+구체(코드)

ex) String(데이터)store(코드); =>프로그램=데이터(추상) + 코드 (구체)

 

1) 추상

데이터가 추상에 해당하는 대표적인 표현중의 하나이다

ex) char one=1byte //C언어 , 자바 2bytes

ex) int one=4byte //자바

여기서 char, int, String, boolean... 등등이 추상이고 이 추상은 데이터타입에 해당한다.

 

2) 구체

구체는 이 추상데이터타입을 구체적인 핵심개념표현으로 변수(코드)로 나타낸다

ex) one, selectedColIndex

 

3) 추상과 구체가 문장으로 나타날 경우

  1. int selectedColIndex=convertColFrom(cellInputCol);

=>여기서 int 는 추상

 

  1. selectedColindex=convertColFrom(cellInputCol);

=>구체(변수)에 해당하는 코드핵심개념표현이다

 

4) 추상과 구체가 메서드로 나타날 경우

gameStatus=-1;

=> changeGameStatusToLose();

public static void changeGameStatusToLose(){

return gameStatus=-1;

}

changeGameStatusToLose라는 의미는 -1은 게임실패를 의미하기때문에 그부분을 반영하여 최대한 구체에 해당하는 코드 핵심개념을 표현한다.

 

추상과 구체로 이름짓기 주의사항

1) 스펠링 단수,복수 구분하여 축약하지 말고 이름 줄이지 말기

2) 은어,방언 사용하지 않기

3) 도메인 용어 사용하기

=> 추상과 구체의 이름짓기목적: 읽기좋은 코드가 유지보수성과 가독성이 높아진다

 

참고사항

-강의명 : Readable Code : 읽기 좋은 코드를 작성하는 사고법

-지식 공유자 :박우빈 코치님

-강의 링크: https://inf.run/pZXb7

-스터디 : 인프런 워밍업 클럽 4기 BE 클린코드 & 테스트

 

회고사항

추상과 구체가 그냥 늘상 형식적으로 쓰기만 했다 구체(변수)의 기능은 알고 있었다 과거에도 최대한 상대방이 내가 만든 프로그램은 어떻게 무슨 생각을 가지고 클래스를 만드는지 왜 호출하고 변수이름을 왜 이렇게 만들었는지 나를 뒤돌아아보게한다. 코드작성을 위한 흐름이 끊기지 않게 도메인설계의 핵심사항이자 기본원리를 이해해서 좋다.

 

댓글을 작성해보세요.

채널톡 아이콘