Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
5장. 구부러지거나 부러지거나
#pragmatic
2년 전
350

오늘 TIL 3줄 요약

  • 상태를 쌓아 놓지 말고 전달하라. 데이터가 흐르는 강처럼.

  • 프로그램은 '입력'을 '출력'으로 바꾸는 것이라고 생각해 보자.

  • 바뀔 수도 있는 값에 의존하는 코드가 있다면, 외부 설정으로 조정할 수 있게 하라.

TIL (Today I Learned) 날짜

2022.03.26

오늘 읽은 범위

5장. 구부러지거나 부러지거나

책에서 기억하고 싶은 내용을 써보세요.

  • 가능한 한 느슨하고 유연한 코드를 작성해야 한다. 결합이 최소한으로 적어야 한다. 계속 강조되는 부분이다.

  • 메서드 호출을 엮지 않아야 한다. '.'을 하나만 쓰려고 노력하자.

  • 애플리케이션에 있는 것은 모두 바뀌고, 외부 라이브러리 역시 불안정하다고 여겨야 한다. 언어에 기본으로 포함된 라이브러리는 예외다.

  • 코드를 재사용한다는 생각이 습관이 되어야 한다.

  • 전역 데이터를 피하라. 싱글턴, 외부 리소스도 전역 데이터에 포함된다.

  • 프로그램이란 입력을 출력으로 바꾸는 것이라는 사고방식으로 돌아갈 필요가 있다. 이렇게 생각하면 구조가 명확해지고 더 일관적으로 오류를 처리하게 되어 결합도 대폭 줄어들 수 있다.

  • 프로그래밍은 코드에 관한 것이지만, 프로그램은 데이터에 관한 것이다.

  • '파이프라인 연산자'는 다르게 생각할 기회를 제공한다. 데이터 변환의 관점에서 생각할 수 있다.

  • 상태를 쌓아 놓지 말고 전달하라. 데이터를 거대한 강으로, 흐름으로 생각하라. 코드=>데이터=>코드=>데이터...의 연속이다.

  • 상속도 일종의 결합이기에 주의해서 사용해야 한다.

  • 다형성은 인터페이스로 표현하는 것이 좋다.

  • 믹스인으로 기능을 공유하라.

  • 바뀔 수도 있는 값에 코드가 의존하고 있다면, 그 값을 외부 설정으로 만들어서 조정하게 하라.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • '묻지 말고 말하라'는 읽어도 잘 이해가 가질 않는다.

  • '싱글턴', 'API로 감싸는 것'이 무엇을 의미하는지 잘 모르겠다. 찾아봤지만 아직 애매모호하다.

  • 'Topic 29 실세계를 갖고 저글링하기' 부분은 나에게 무엇을 말하고자 하는지 잘 모르겠다. 아직 코딩에 대한 깊은 지식이 없어서 이해도가 낮은 것 같다.

  • 상속의 대안으로 나온 '인터페이스', '위임'의 개념을 잘 모르겠다.

  • 설정 정보를 외부에서 관리할 때, 서비스 API 뒤에서 관리한다는 게 무엇일까?