본문 바로가기
반응형

전체 글48

TIL_클린코드_10장_클래스 TIL (Today I Learned) 2022.05.11 오늘 읽은 범위 10장. 클래스 책에서 기억하고 싶은 내용 추상화 단계가 순차적으로 내려간다. -172페이지 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없다. 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. -172페이지 클래스는 작아야 한다. -172페이지 클래스 이름은 해당 클래스 책임을 기술해야 한다. 간결한 이름이 떠오르지 않는다면 필경 클래스 크기가 너무 커서 그렇다. -175페이지 단일 책임원칙Single Responsibility Principle SRP은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다. - 175페이지 게다가 많은 개발자는 자잘한 단일 책임 클래스가.. 2022. 5. 11.
TIL_클린코드_8장_단위 테스트 TIL (Today I Learned) 2022.05.08 오늘 읽은 범위 8장. 단위 테스트 책에서 기억하고 싶은 내용 테스트 코드는 실제 코드 못지 않게 중요하다. 테스트는 유연성, 유지보수성, 재사용성을 제공한다. 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위테스트다. 이유는 단순하다. 테스트 케이스가 있으면 변경이 두렵지 않으니까! - 157페이지 어쩌면 가독성은 실제 코드보다 테스트 코드에 더더욱 중요하다. -158페이지 단지 assert 문 개수는 최대한 줄여야 좋다는 생각이다. -165페이지 테스트 함수마다 한 개념만 테스트하라는 규칙이 더 낫겠다. 이것저것 잡다한 개념을 연속으로 테스트하는 긴 함수는 피한다. - 166페이지 한 테스트 함수에서 여러 개념을 테스트한다는.. 2022. 5. 8.
TIL_클린코드_7장_오류 처리 TIL (Today I Learned) 2022.05.05 오늘 읽은 범위 7장. 오류 처리 책에서 기억하고 싶은 내용 오류 처리는 중요하다. 하지만 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다. - 130페이지 예외가 발생할 코드를 짤 때는 try-catch-finally문으로 시작하는 편이 낫다. - 132페이지 미확인예외를 사용하라. 확인된 예외는 OCP(Open Closed Principle)를 위반한다. 메서드에서 확인된 예외를 던졌는데 catch 블록이 세 단계 위에 있다면 그 사이 메서드 모두가 선언부에 해당 예외를 정의해야 한다. 즉, 하위 단계에서 코드를 변경하면 상위 단계 메서드 선언부를 전부 고쳐야 한다는 말이다. - 134페이지 예외에 의.. 2022. 5. 5.
TIL_클린코드_6장_객체와 자료 구조 TIL (Today I Learned) 2022.05.03 오늘 읽은 범위 6장. 객체와 자료 구조 책에서 기억하고 싶은 내용 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. -119페이지 개발자는 객체가 포함하는 자료 를 표현할 가장 좋은 방법을 심각하게 고민해야 한다. 아무 생각 없이 조회/설정 함수를 추가하는 방법이 가장 나쁘다. -119페이지 (자료 구조를 사용하는) 절차적인 코드는 기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. 반면, 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다. - 122페이지 절차적인 코드는 새로운 자료 구조를 추가하기 어렵다. 그러려면 모든 함수를 고쳐야 한다. 객체 지향 코드는 새로운 함수를 추가하기 어렵.. 2022. 5. 3.
TIL_클린코드_5장_형식 맞추기 TIL (Today I Learned) 2022.05.02 오늘 읽은 범위 5장. 형식 맞추기 책에서 기억하고 싶은 내용 형식을 맞추는 목적: 오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다. - 96페이지 적절한 행 길이를 유지하라 신문 기사처럼 작성하라 개념은 빈 행으로 분리하라 세로 밀집도 : 세로 밀집도는 연관성을 의미한다. 수직 거리 : 서로 밀접한 개념은 세로로 가까이 둬야 한다. 변수 선언 : 변수는 사용하는 위치에 최대한 가까이 선언한다. 인스턴스 변수 : 잘 알려진 위치에 인스턴스 변수를 모은다는 사실이 중요하다. 종속 함수 : 가능하다면 호출하는 함수를 호출.. 2022. 5. 2.
TIL_클린코드_4장_주석 TIL (Today I Learned) 2022.04.29 오늘 읽은 범위 4장. 주석 책에서 기억하고 싶은 내용 나쁜 코드에 주석을 달지 마라. 새로 짜라. - 브라이언 W. 커니핸, P. J. 플라우거 - 68page 프로그래밍 언어 자체가 표현력이 풍부하다면, 아니 우리에게 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면, 주석은 거의 필요하지 않으리라. 아니, 전혀 필요하지 않으리라.- 68page 주석은 오래될수록 코드에서 멀어진다. 오래될수록 완전히 그릇될 가능성도 커진다. 이유는 단순하다. 프로그래머들이 주석을 유지하고 보수하기란 현실적으로 불가능하니까. - 68page 좋은 주석 - 법적인 주석 - 정보를 제공하는 주석 - 의도를 설명하는 주석 - 의미를 명료하게 밝히는 주석.. 2022. 4. 29.
TIL_클린코드_3장 함수 TIL (Today I Learned) 2022.04.27 오늘 읽은 범위 3장. 함수 책에서 기억하고 싶은 내용 지금까지 경험을 바탕으로 그리고 오랜 시행착오를 바탕으로 나는 작은 함수가 좋다고 확신한다. - 43page 이 말은 중첩 구조가 생길만큼 함수가 커져서는 안 된다는 뜻이다. 그러므로 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안된다. -44page 함수는 한 가지를 해야 한다. 그 한가지를 잘 해야 한다. 그 한가지만을 해야 한다. -44page 한 가지 작업만 하는 함수는 자연스럽게 섹션으로 나누기 어렵다. -45page 근본 개념과 세부사항을 뒤섞기 시작하면, 깨어진 창문처럼 사람들이 함수에 세부사항을 점점 더 추가한다. -46page 위에서 아래로 프로그램을 읽으면 함수 추상화.. 2022. 4. 27.
TIL_나의 최애 북틸 1. https://blog.naver.com/narnia0926/222710358559 나쁜예시와 좋은 예시를 직접 적어놓으셨다. 예시가 보이니 더 잘 이해가 되는 것 같다. 다음 TIL에서 나도 이런식으로 정리해보면 좋을 것 같다. 2. https://nomadcoders.co/community/thread/4496 불용어 사용에 대한 지난 날에 대한 반성이 나와 비슷하다. 다른 사람들의 TIL을 보면서 나만 고민하고 있는 내용이 아니었다는 것을 알게되면서 공감과 함께 안도감이 들었던 틸. 3. https://nomadcoders.co/community/thread/4533 내용을 군더더기 없이 깔끔하게 정리해두셨다. 2022. 4. 25.
반응형