Community

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

← Go back
TIL 6장.구부러지거나 부러지거나
#pragmatic
2년 전
543

오늘 TIL 3줄 요약

모든 수단을 동원해서 가능한 느슨하고 유연한코드 를 작성해야한다.!

전역 데이터는 피해라

외부 설정으로 애플리케이션을 조정할 수 있게 하라

TIL (Today I Learned) 날짜

2022.03.27

오늘 읽은 범위

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

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

  1. 모든 수단을 동원하여 가능한 한 느슨하고 유연한 코드를 작성해야 한다. 그러지 않으면 코드는 금세 낡고 수정하기 어려 워지고, 결국 기억 저편으로 사라질 것이다.·( p.181 )

  2. 높은 결합도는 변경의 적이다. 결합 도가 높으면 이리저리 연결되어 있어서 여러 가지를 동시에 바꿔야 하기 때문 이다. 그래서 바꾸기 더 어려워진다.( p182 )

  3. (옮긴이) train wreck은 열차 사고라는 원래 뜻 외에 엉망진창이라는 뜻도 있다. 저자는 여기에서 메소드 호출이 연쇄적으로 이어지는 모습이 열차와 외형적으로 유사하다고 하면서 동시에 그게 엉망진창의 상태가 될 수 있다는 암시를 하고 있다. ( p.184 )

  4. 전역 global 데이터 하나하나는 애플리케이션의 모든 메서 드에 갑자기 매개 변수가 추가된 것과 같은 효과를 낸다. 전역 데이터는 모든 메서드 안에서 사용할 수 있으니 말이다. 전역 데이터는 여러 가지 방법으로 코드의 결합도를 높인다. ( p.190 )

  5. Tip 47 전역 데이터를 피하라.( p.190 )

  6. 외부 리소스도 전역 데이터다 수정 가능한 외부 리소스는 모두 전역 데이터다. 여러분의 애플리케이션이 데이터베이스나 저장소, 파일 시스템, 서비스 API 등을 사용한다면 전역 데이터의 함정에 빠질 위험이 있는 것이다. 여기서도 해법은 반드시 이 리소스 들을 여러분이 작성하는 코드로 모두 감싸는 것이다. Tip 48 전역적이어야 할 만큼 중요하다면 API로 감싸라. ( p.191 )

  7. 실용주의 FSM 해부학 ( p.195 ) - 의 내용들!

  8. 마치 공장 조립 라인 같기도 하다. 한쪽 끝에서 원료 데이터를 공급하면 반대쪽 끝에서 완성 제품인 정보가 나온다. 우리는 모든 코드를 이런 방식으로 생각하고 싶다. Tip 49 프로그래밍은 코드에 관한 것이지만, 프로그램은 데이터에 관한 것이다. ( p.210 )

  9. (옮긴이) 애너그램(anagram)이란 단어의 철자 순서를 바꾸어서 만든 다른 단어를 말한다. ( p.211 )

  10. (옮긴이) 문법적 설탕(syntactic sugar)은 프로그래밍 언어를 더 쉽게 읽고 쓰도록 해주지만 언어의 기능 자체를 확장하지는 않는 문법을 말한다. [ 파이프 |> 이런거! ]

  11. Tip 52 다형성은 인터페이스로 표현하는 것이 좋다. ( p.230 )

  12. Tip 55 외부 설정으로 애플리케이션을 조정할 수 있게 하라. ( p.236 ) -포트 번호나 그런 것들!

  13. 지나치게 하지는 말라. 우리 초기 고객 중 하나는 애플리케이션의 모든 필드를 설정할 수있어야 한다고 결정했다. 그 결과 아주 작은 것을 하나 바꾸는데도 몇 주가 걸렸다. 각 필드와 그 필드를 편집하고 저장하기 위한 관리자용 코드까지 죄다 구현해야 했기 때문이다. 4만 여 개의 설정 변수가 있었고 그들 앞에는 코딩 지옥이 펼쳐졌다.( p.239 )

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

코드는 언제나 바꿀수있게 느슨하고 유연하게!( 연결성을 가지지않게 !) 전역데이터를 피하고, 외부설정으로 애플리케이션을 조정할수있게하자!

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

  1. 싱글턴 singleton 도 전역 데이터다( p.191 ) -[싱글턴 ?]

오늘 읽은 다른사람의 TIL

inkblot626님의 TILhttps://nomadcoders.co/community/thread/4013