Community

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

← Go back
Assignment #08
#pragmatic
2년 전
448

오늘 TIL 3줄 요약

  • 소프트웨어의 구조는 유연해야 한다.

  • 전역 데이터는 전역 변수만을 말하는 것이 아니다. 수정 가능한 외부 리소스 전부다.

  • 각 코드의 결합도를 낮출 수 있는 방법에 대해 생각하라. 정말 그것이 최선인가? 다른 방법은 없는가?

TIL (Today I Learned) 날짜

2022. 03. 26

오늘 읽은 범위

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

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

  • 현대의 미친 듯이 빠른 변화 속도를 따라가려면 모든 수단을 동원하여 가능한 한 느슨하고 유연한 코드를 작성해야 한다. 그러지 않으면 코드는 금세 낡고 수정하기 어려워지고, 결국 기억 저편으로 사라질 것이다. (p. 181)

  • 소프트웨어의 구조는 유연해야 한다. 그리고 유연하려면 각각의 부품이 다른 부품에 가능한 한 조금만 연결되어야 한다. (p. 183)

  • 여러분의 코드에 있는 것이 싱글턴뿐이더라도, 외부로 노출된 인스턴스 변수가 잔뜩 있는 싱글턴은 여전히 전역 데이터이다. 그저 이름이 좀 길어졌을 뿐이다. (p. 191)

  • 수정 가능한 외부 리소스는 모두 전역 데이터다. (p. 191)

  • 하지만 이벤트가 어디서 발생하든 이벤트를 중심으로 공들여 만든 코드는 일직선으로 수행되는 코드보다 더 잘 반응하고 결합도가 더 낮다. (p. 206)

  • 자신이 하고 있는 걸 하나의 과정으로 서술할 수 없다면, 자기가 뭘 하고 있는지 모르는 것이다. - W.에드워즈 데밍(W. Edwards Deming) (p. 207)

  • 여러분이 원하는 것을 인터페이스나 위임, 믹스인 혹은 이들의 조합을 사용하여 달성할 수는 없는가? 그렇게 해서 결합을 줄일 수 있는가? (p. 236)

  • 어떤 형태를 사용하든지 애플리케이션은 실행시켰을 때 설정 정보가 애플리케이션의 동작을 제어해야 한다. 설정 정보를 바꾸기 위해 코드 빌드가 필요해서는 안 된다. (p. 238)

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

  • 프론트앤드 작업 시에 모듈을 분리해내는 부분에서 고민했던 기억이 난다. 다만 분리를 생각하면서도 소프트웨어의 구조나 각각의 연결성에 대해서는 깊게 고려한 적이 없었다. 앞으로는 모듈을 구현할 때 이런 부분을 좀 더 신경 써야겠다.

  • 전역 변수만을 전역 데이터로 생각하고 있었다. 5장을 읽으며 전역 데이터에 대한 정의를 다시 세웠다.

  • 설정 정보와 관련해서는 고려해본 적이 없다. 상속은 내가 무척 좋아하는 방식이다. 나는 프로그래머지만 실용주의와는 거리가 멀었음을 다시 한 번 깨달았다. 특히 구조의 결합에 큰 관심이 없던 터라, 이런 부분을 보완해야 할 것 같다.

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

오늘 읽은 다른사람의 TIL