본문 바로가기
반응형

Culture16

클린코드 TIL #10 클린코드 TIL #10 📓 오늘 읽은 범위 10장 클래스 💡 책에서 기억하고 싶은 내용을 써보세요 클래스는 작아야 한다! (p. 172) 클래스를 만들 때 첫 번째 규칙은 크기다. 클래스는 작아야 한다. 두 번째 규칙도 크기다. 더 적아야 한다. 클래스의 크기는 맡은 책임을 센다. 클래스 이름은 해당 클래스 책임을 기술해야 한다. 실제로 작명은 클래스 크기를 줄이는 첫 번째 관문이다. 간결한 이름이 떠오르지 않는다면 필경 클래스 크기가 너무 커서 그렇다. 클래스 이름이 모호하다면 핑경 클래스 책임이 너무 많아서다. (p.175) 단일 책임 원칙(Single Responsibility Principle, SRP) (p.175) 단일 책임 원칙은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 .. 2022. 3. 9.
클린코드 TIL #09 📓 오늘 읽은 범위 06장 객체와 자료 구조 💡 책에서 기억하고 싶은 내용을 써보세요 변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는다. 구현을 감추려면 추상화가 필요하다!(p.119) 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조절 할 수 있어야 진정한 의미의 클래스다.(p.119) 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다.(p.119) 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. (자료 구조를 사용하는) 절차적인 코드는 기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. 반면, 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래.. 2022. 3. 2.
클린코드 TIL #08 TIL-Assignment #08(2022.02.28[월]) 📓 오늘 읽은 범위 5장 형식 맞추기 💡 책에서 기억하고 싶은 내용을 써보세요 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다.(p.96) 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다. 오랜 시간이 지나 원래 코도의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 청므 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성과 확장성에 계속 영향을 미친다. 원래 코드는 사라질지라도 개발자의 스타일과 규율은 사라지지 않는다.(p.96) 소통을 장려하는 코드 형식(p.96) 적절한 행 길이를 유지하라(p.96) 신문 기사처럼 작성하라 개념은 빈 행으로 분리하라 세로 밀집도 줄바꿈이 .. 2022. 3. 1.
클린코드 TIL #06 클린코드 TIL #06 DAY 06 📓 오늘 읽은 범위 04장 주석 💡 책에서 기억하고 싶은 내용을 써보세요 주석은 쉰들러 리스트가 아니다. 주석은 ‘순수하게 선하지'목하다. 사실상 주석은 기껏해야 필요악이다. (p.68) 진실은 한곳에만 존재한다. 바로 코드다. 코드만이 자기가 하는 일을 진실되게 말한다. 코드만이 정확한 정보를 제공하는 유일한 출처다. 그러므로 우리는 (간혹 필요할지라도) 주석을 가능한 줄이도록 꾸준히 노력해야 한다. (p.69) 주석은 나쁜 코드를 보완하지 못한다. (p.69) 표현력이 풍부하고 깔끔하며 주석이 거의 없는 코드가, 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다. 코드로 의도를 표현하라! (p.69) 좋은 주석 (p.69) 명심하길 바란다. 정말로 좋은 주석.. 2022. 2. 24.
클린코드 TIL #05 TIL-Assignment #05(2022.02.22[화]) DAY 05 📓 오늘 읽은 범위 03장 함수 💡 책에서 기억하고 싶은 내용을 써보세요 직관적인 함수를 작성하는 방법 작게 만들어라!(p.42) 함수를 만드는 첫째 규칙은 ‘작게!’다. 함수를 만드는 둘째 규칙은 ‘더 작게!’다. 중첩 구조가 생길만큼 함수가 커져서는 안된다. 그러므로 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서는 안 된다. 당연한 말이지만, 그래야 함수는 읽고 이해하기 쉬워진다. 한 가지만 해라! (p.44) 함수는 한 가지를 해야한다. 그 한가지를 잘 해야 한다. 그 한가지만을 해야한다. 단순히 다른 표현이 아니라 의미 있는 이름으로 다른 함수를 추출할 수 있다면, 그 함수는 여러 작업을 하는 셈이다. 함수 당 추상화 수준.. 2022. 2. 22.
클린코드 TIL #03 TIL-Assignment #03(2022.02.20[일]) DAY 3 📓 오늘 읽은 범위 02장 의미있는 이름 💡 책에서 기억하고 싶은 내용을 써보세요 이름을 잘 짓는 간단한 규칙(p.22) 의도를 분명히 밝혀라(p.22) 그릇된 정보를 피하라(p.24) 유사한 개념은 유사한 표기법을 사용한다. 이것도 정보다. 일관성이 떨어지는 표기법은 그릇된 정보다. 의미 있게 구분하라(p.24) 읽는 사람이 차이를 알도록 이름을 지어라. 발음하기 쉬운 이름을 사용하라?(p.27) 검색하기 쉬운 이름을 사용하라(p.28) 관점에 따라 긴 이름이 짧은 이름보다 좋다. 검색하기 쉬운 이름이 상수보다 좋다. 이름 크기는 범위 크기에 비례해야 한다. 인코딩을 피하라.(p.30) 멤버 변수 접두어: 클래스와 함수는 접두어가 .. 2022. 2. 20.
클린코드 TIL #02 DAY 2 📓 오늘 읽은 범위 추천사 들어가면서 1장 깨끗한 코드 💡 책에서 기억하고 싶은 내용을 써보세요 “사소한 곳에서 발휘한 정직은 사소하지 않다.” (p.xxii) 장인 정신을 익히는 과정은 두 단계로 나뉜다. 바로 이론과 실전이다. (p.xxxii) 첫째, 장인에게 필요한 원칙, 패턴, 기법, 경험이라는 지식을 습득해야 한다. 둘째, 열심히 일하고 연습해 지식을 몸과 마음으로 체득해야 한다. 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업, 바로 이것이 프로그래밍이다. (p.2) 좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다. (p.7) 깨끗한 코드는 한 가지에 ‘집중'한다. (p.10) 코드는 추측이 아니라 사실에 기반해야 한다. 반드시 필요한 내용만 담아야 한다... 2022. 2. 20.
728x90
반응형