Clean Code 1장

손우진·2020년 11월 27일
0

독서

목록 보기
1/2

CLEAN CODE 1장

개발자 필독서라 불리는 CLEAN CODE를 읽기 시작했다.
사실 작년에 이 책이 좋다고 들어 구매하고 1장을 읽은 기억이 있다.
1장만 읽고 이게 무슨 소린가 하면서 책을 고이 덮어 책장에 넣어버렸다.
다시 한번 1장을 읽으니 느낌이 많이 다르다.

1장에서는 여러 유명한 개발자들이 깨끗하고 좋은 코드에 대해 언급해두었다.
가장 인상깊었던 것 몇가지만 써보려 한다.

인상깊은 부분

깨끗한 코드 작성 습관 == 의사들의 손 씻기

이 말을 보고 놀라웠다.
물론 깨끗하고 유지보수가 잘 되는 코드가 아주 중요한 것은 알고 있었지만, 그것의 중요도가 의사들이 손을 씻는 것과 같을 정도라는 것이 인상깊었다. 생각해보면, 대형 병원에서 환자를 치료하는 것과 소프트웨어를 만들고 유지보수하는 것은 비슷할 지도 모르겠다. 병원에서도 환자를 인수인계하며 거쳐가는 사람들 모두가 기본적인 것들을 잘 지켜주어야 잘 치료할 수 있듯이, 소프트웨어 또한 개발하고 유지보수하는 기간 내내 개발자들이 심사숙고하여 코딩해야 오래오래 좋은 소프트웨어로 남을 것이다.
존경하는 교수님께서 한 말이 생각난다. 10년, 20년, 30년 등 장기간 사용되는 소프트웨어는 굉장한 명작이라고 하셨다. 그러한 기간동안 얼마나 많은 개발자들이 고민했을까.

일급 컬렉션(First Class Collection)

사실 클린코드 책에서는 일급 컬렉션이란 용어가 나온 것은 아니다. 하지만 그러한 개념을 소개하였고, 일급 컬렉션을 알게 된지 얼마 되지 않은 나한테는 되게 반가웠다.

일급 컬렉션 소개

자체는 간단하다. List와 같은 Collection을 클래스로 매핑해준다.
해당 클래스의 멤버변수는 컬렉션 단 하나만 존재한다.
코드로 나타내면 다음과 같다.

Map<String, String> map = new HashMap<>();
map.put("1", "A");
map.put("2", "B");
map.put("3", "C");

이러한 map을 클래스화 한다.

public class GameRanking {
    private Map<String, String> ranks;
    
    public GameRank(Map<String, String> ranks) {
        this.ranks = ranks;
    }
}

일급 컬렉션 장점

  • 비즈니스에 종속적인 자료구조
  • Collection의 불변성을 보장
  • 상태와 행위를 한 곳에서 관리
  • 이름이 있는 컬렉션

일급 컬렉션은 해당 포스트에서는 간단하게 소개만 하고, 차후에 따로 정리하도록 한다.

코딩 규칙

JAVA랑 JS로 매일같이 코딩을 하면서, 정작 코딩 규칙에 대해서 남의 코드를 보고 따라하지 문서를 제대로 읽은 적이 있나 싶은 생각이 책을 읽으면서 들었다.
생각보다 문서가 아주 많아서.. 언제 다 볼 수 있을지는 모르겠다.

profile
Backend Developer @비바리퍼블리카

0개의 댓글