개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
상태를 쌓아 놓지 말고 전달하라. 데이터가 흐르는 강처럼.
프로그램은 '입력'을 '출력'으로 바꾸는 것이라고 생각해 보자.
바뀔 수도 있는 값에 의존하는 코드가 있다면, 외부 설정으로 조정할 수 있게 하라.
TIL (Today I Learned) 날짜
2022.03.26
오늘 읽은 범위
5장. 구부러지거나 부러지거나
책에서 기억하고 싶은 내용을 써보세요.
가능한 한 느슨하고 유연한 코드를 작성해야 한다. 결합이 최소한으로 적어야 한다. 계속 강조되는 부분이다.
메서드 호출을 엮지 않아야 한다. '.'을 하나만 쓰려고 노력하자.
애플리케이션에 있는 것은 모두 바뀌고, 외부 라이브러리 역시 불안정하다고 여겨야 한다. 언어에 기본으로 포함된 라이브러리는 예외다.
코드를 재사용한다는 생각이 습관이 되어야 한다.
전역 데이터를 피하라. 싱글턴, 외부 리소스도 전역 데이터에 포함된다.
프로그램이란 입력을 출력으로 바꾸는 것이라는 사고방식으로 돌아갈 필요가 있다. 이렇게 생각하면 구조가 명확해지고 더 일관적으로 오류를 처리하게 되어 결합도 대폭 줄어들 수 있다.
프로그래밍은 코드에 관한 것이지만, 프로그램은 데이터에 관한 것이다.
'파이프라인 연산자'는 다르게 생각할 기회를 제공한다. 데이터 변환의 관점에서 생각할 수 있다.
상태를 쌓아 놓지 말고 전달하라. 데이터를 거대한 강으로, 흐름으로 생각하라. 코드=>데이터=>코드=>데이터...의 연속이다.
상속도 일종의 결합이기에 주의해서 사용해야 한다.
다형성은 인터페이스로 표현하는 것이 좋다.
믹스인으로 기능을 공유하라.
바뀔 수도 있는 값에 코드가 의존하고 있다면, 그 값을 외부 설정으로 만들어서 조정하게 하라.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
'묻지 말고 말하라'는 읽어도 잘 이해가 가질 않는다.
'싱글턴', 'API로 감싸는 것'이 무엇을 의미하는지 잘 모르겠다. 찾아봤지만 아직 애매모호하다.
'Topic 29 실세계를 갖고 저글링하기' 부분은 나에게 무엇을 말하고자 하는지 잘 모르겠다. 아직 코딩에 대한 깊은 지식이 없어서 이해도가 낮은 것 같다.
상속의 대안으로 나온 '인터페이스', '위임'의 개념을 잘 모르겠다.
설정 정보를 외부에서 관리할 때, 서비스 API 뒤에서 관리한다는 게 무엇일까?