독서
객체지향의 사실과 오해(~71pg)
객체지향의 사실과 오해(~71pg)
2023.03.20내용 59pg, 객체는 식별자를 가지고 있고 값은 가지고 있지 않지만, 프로그래밍 언어의 관점에서 숫자도 Interger 클래스로부터 생성된 객체이다. 이런 오해의 소지를 줄이기 위해 값 객체(value object)라는 식별자를 가지지 않는 값을 가리키는 별도의 용어를 사용하기도 한다. 60pg, 일반적으로 객체의 상태를 조회하는 작업을 쿼리(query)라고 하고 객체의 상태를 변경하는 작업을 명령(command)이라고 한다. 객체가 외부에 제공하는 행동의 대부분은 쿼리와 명령으로 구성된다. 62pg, 버튼 이외의 다른 방법으로는 기계를 사용할 수 없다. 기계를 직접 열어 내부의 상태에 접근하려고 하지 않는다. 이것은 객체에 접근할 수 있는 유일한 방법은 객체가 제공하는 행동뿐이라는 점을 강조한다. 즉..
클린코드(~45pg)
클린코드(~45pg)
2023.03.15내용 34pg, 전산 용어, 알고리즘 이름, 패턴 이름, 수학 용어 등을 사용해도 괜찮다. 36pg, 맥락을 개선하면 함수를 쪼개기가 쉬워진다. 42pg, 함수를 만드는 첫째 규칙은 '작게!'다. 두번째 규칙은 '더 작게!'다. 43pg, if문/else문/while문 등에 들어가는 블록은 한 줄이어야 한다. 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안 된다. 45pg, 함수는 한 가지를 해야 한다. 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 하는 것으로 취급한다. 한 가지 작업만 하는 함수는 자연스럽게 섹션으로 나누기 어렵다. 느낀점 45pg가 제일 핵심이라고 느꼈다. 함수는 하나의 기능만 수행하게 짧게 만들라는 말은 많이 들어왔지만 함수 하나..
객체지향의 사실과 오해(~59pg)
객체지향의 사실과 오해(~59pg)
2023.03.15내용 41pg, 객체란 인간이 분명하게 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것이다. 48pg, 상태를 이용하면 과거의 모든 행동 이력을 설명하지 않고도 행동의 결과를 쉽게 예측하고 설명할 수 있다. 50pg, 결론적으로 모든 객체의 상태는 단순한 값과 객체의 조합으로 표현할 수 있다. 이때 객체의 상태를 구성하는 모든 특징을 통틀어 객체의 프로퍼티(property)라고 한다. 앨리스의 경우 키, 위치, 음료가 앨리스의 프로퍼티가 된다. 51pg, 객체와 객체 사이의 의미있는 연결을 링크(link)라고 한다. 객체와 객체 사이에는 링크가 존재해야만 요청을 보내고 받을 수 있다. 즉, 객체의 링크를 통해서만 메세지를 주고받을 수 있다. 링크는 객체가 다른 객체를 참조할 수 있다..
객체지향의 사실과 오해(~38pg)
객체지향의 사실과 오해(~38pg)
2023.03.13개요 이 책이 개발자들 사이에서 추천이 많이 되는 책 중 하나라고 한다. 최근에 당장 기술 한 두개 더 써보는 것보다 기본 지식을 잘 쌓고 넘어가는 게 더 중요하다고 느꼈다. 그래서 스터디원들하고 이 책을 같이 읽고 서로 나눠보고 싶은 얘기가 있으면 토론을 해보기로 했다. 내용 21pg, 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조해내는 것이다. 25pg, 객체지향에서 가장 중요한 개념 세 가지는 바로 역할, 책임, 협력이다. 28pg, 동일한 요청에 대해 서로 다른 방식으로 응답할 수 있는 능력을 다형성이라고 한다. 29pg, 협력의 핵심은 특정한 책임을 수행하는 역할들 간의 연쇄적인 요청과 응답을 통해 목표를 달성한다는 것이다. 30pg, 객체지향 설계라는 예술은 적절..
클린코드(~33pg)
클린코드(~33pg)
2023.03.13개요 유명한 책이라 작년 여름쯤 사서 읽어보다가 말았다. 짧게 읽었는데도 도움이 되는 내용들이 많았다. 최근에 프로젝트를 진행하면서 다시 한 번 필요성을 느꼈고 틈틈히 읽어가기로 했다. 책에도 적혀있던데 "나중은 없다." 조금씩이라도 지금 해나가야 한다. 아래부터는 책을 읽으면서 기록해두고 싶은 내용들을 정리해본 것이다. 내용 이 책에서는 깨끗한 변수 이름, 깨끗한 함수, 깨끗한 클래스를 만드는 방법을 소개한다. 좋은 코드도 소개하고 나쁜 코드도 소개한다. 나쁜 코드를 좋은 코드로 바꾸는 방법도 소개한다. 10pg, 나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려진다. 깨끗한 코드는 한 가지에 집중한다. 각 함수와 클래스와 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한 길만 ..