🔥딱 8일간! 인프런x토스x허먼밀러 역대급 혜택

블로그

sein

[워밍업 클럽 4기 - 백엔드] Day 2 미션

미션강의에서 안내하는 것처럼, 프로젝트를 개인 계정으로 fork하고 강의를 수강해 주세요.github 주소 : https://github.com/techhan/readable-code.git 추상과 구체" 강의를 듣고, 생각나는 추상과 구체의 예시가 있다면 한번 3~5문장 정도로 적어봅시다.추상 : 택배를 받았다.구체 과정고객이 주문한다.판매자가 확인 후 택배 송장을 뽑는다.계약된 회사가 택배를 수거하러 방문한다.택배를 수거해서 한 번 이상의 상하차를 거친다.택배 배달원이 고객에게 택배를 전달한다. 짧은 회고두 번째 문제를 처음 맞닥뜨렸을 때는 좀 당황스러웠다. 추상과 구체. 프로그래밍을 배우면서 추상과 구체에 대해 들어본 적은 있었다. 단순히 '동물-강아지' 이런 수준. 들어만 봤지 내가 직접 생각해 본 적은 별로 없었고, 더군다나 3~5문장으로 적어 본 적은 더 없어서 꽤나 생각하는데 애를 먹었다. 그래도 한 번 생각의 물꼬가 터지니, 위에서 도출해 낸 구체 과정에서도 완벽한 구체가 아닌, 그 안에 또 구체, 또 구체, 또 구체...가 있는 걸 알게 됐다. 예를 들면 고객이 주문하는 과정에서도 '핸드폰 켜기 > 사이트 들어가기 > 장바구니에 담기 > 결제하기 > 완료하기' 등등의 구체들이 숨어 있다는 게 별 거 아닌 것 같지만 흥미로웠다. 추상과 구체는 기억에 매우 오래 남을 것 같다.  출처 인프런_워밍업_클럽_4기_BEReadable Code: 읽기 좋은 코드를 작성하는 사고법 

백엔드인프런워밍업클럽4기백엔드박우빈ReadableCodeCleanCodeBackend

kimusvita

Readable Code (1) : 읽기 좋은 코드를 작성하는 사고법 (Day2)

추상강사님이 최대한 더럽고 시간 복잡도가 높은 최악의 코드를 골라오셨고, 우리는 이번 시간을 통해 이 코드를 읽기 좋은 코드로 거듭나기 위한 순서를 따라갔다. 1. 직관적으로 변수이름을 바꾸기를 실행하자.예를 들어, for loop에서 단순히 i, j로 두던 것을 row, col로 바꾸는 등의 refactoring을 진행했다.Refactoring Variable# for (int i = 0; i < 8; i++) { # for (int j = 0; j < 10; j++) { # board[i][j] = "□"; # } # } //수정 사항: 변수 이름 직관적으로 짓기 for (int row = 0; row < 8; row++) { for (int col = 0; col < 10; col++) { board[row][col] = "□"; } }   2. 잘 쓰여진 메서드는 주제가 하나다.한 가지를 실행하는데 집중한다. 코드를 읽고 이 메서드가 하는 일이 여러 개라면 작은 메서드로 나누는 게 좋다.기본적이지만 처음엔 어려웠던 부분인데 다시 짚고 넘어가봐서 좋았다. 3. 메서드 선언부- void 대신 충분히 반환할 값이 있는지 고민해보는 습관을 가지자. 반환값이 있다면 테스트도 용이해진다. 물론 void가 더 깔끔한 순간도 많으나, 한번쯤 고민해보자.- 구체화된 타입을 반환받는다.- 의미가 명확한 변수 이름을 사용한다._사용하는 입장에서도 더 편하게 쓸 수 있고, 후손 개발자 입장에서도 어떤 것을 넣어야하는 변수인지 알기 쉽다._  4. 추상화 레벨method를 추출한다는 것 자체가 외부 세계와 내부 세계의 경계를 만든다는 뜻이다. 하나의 세계 안에서는 추상화 레벨이 동등해야 한다.추상화 레벨이 맞지 않아 일어나는 문제가 꽤나 잘 들어난다.추상화 레벨이 맞지 않는 상황이 나타나면 클린코드라 하기 어렵다. 자세한 사항은 개인 블로그에 기재하였습니다.https://velog.io/@dhlee47-l/Readable-Code-%EC%9D%BD%EA%B8%B0-%EC%A2%8B%EC%9D%80-%EC%BD%94%EB%93%9C%EB%A5%BC-%EC%9E%91%EC%84%B1%ED%95%98%EB%8A%94-%EC%82%AC%EA%B3%A0%EB%B2%95-Day2

웹 개발CleanCode박우빈강사님추상JAVA발자국

채널톡 아이콘