본문 바로가기

클린코드 스터디17

[클린코드] 7장. 오류 처리 스터디 메인 페이지 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 7장 오류 처리 ⚈ 뭔가 잘못되면 바로 잡을 책임은 바로 우리 프로그래머에게 있다. ⚈ 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다. ⚈ 오류 코드보다 예외를 사용하라. ⚈ Try-Catch-Finally 문부터 작성하라 try 블록은 어떤 면에서 트랜잭션과 비슷하다. try 블록에서 무슨 일이 생기든지 catch 블록은 프로그램 상태를 일관성 있게 유지해야 한다. ☆ finally는 try 부분이 정상처리되든지 .. 2023. 1. 2.
[클린코드] 6장. 객체와 자료 구조 스터디 메인 페이지 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 6장 객체와 자료 구조 ⚈ ☆ 이 책에서 얘기하는 '자료 구조'는 큐, 스택 이런게 아니라 '데이터만 있는 클래스'를 의미하는 것 같다. C 계열의 struct로 생각하면서 책을 보면 말이 맞다. 이하의 struct의 경우 예를들어 자바로 생각하면 아래와 같이 나타낼 수 있을 것이다. 함수 없이 데이터만 있는 클래스 구조로 생각하고 보면 책이 읽히니 그렇게 생각하면 될 것 같다. typedef struct { int* arr; int rear; int cap.. 2023. 1. 2.
[클린코드] 5장. 형식 맞추기 스터디 메인 페이지 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 5장 형식 맞추기 ⚈ 술 취한 뱃사람 한 무리가 짜놓은 듯 어수선해 보인다면 독자들은 프로젝트의 다른 측면도 똑같이 무성의한 태도로 처리했으리라 생각할 것이다. -> ☆ 완전 공감되는 내용이었다. 예전에 뭔 외주줘서 진행한 프로젝트를 짬처리 받은적이 있다. 그런데 저런식이다. 코드 형식을 논하기 이전에 뭔 띄어쓰기도 제대로 안되어있고, 최대한 완벽해야 할 공통코드에서 꽤 많이 사용된 isEmpty가 == "null" 이러고 있다. 돌아가는게 신기하다 ㅋㅋ. .. 2023. 1. 2.
[클린코드] 4장. 주석 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 4장 주석 ⚈ "나쁜 코드에 주석을 달지 마라. 새로 짜라." ⚈ 주석은 언제나 실패를 의미한다. 주석을 달 때마다 자신에게 표현력이 없다는 사실을 푸념해야 마땅하다. 주석은 거짓말을 한다. 주석은 오래될수록 코드에서 멀어진다. 프로그래머들이 주석을 유지하고 보수하기란 현실적으로 불가능하다. 주석은 나쁜 코드를 보완하지 못한다 ⚈ 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이다. 자신이 저지른 난장판을 주석으로 설명하려 애쓰는 대신에.. 2022. 12. 21.
[클린코드] 3장. 함수 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 3장 함수 - 길이가 짧고, 이름이 좋고, 체계가 잡힌 함수를 만드는 방법 작게 만들어라! ⚈ 작은 함수가 좋다. ⚈ 이하와 같은 수준으로 줄여야 한다. public static String renderPageWithSetupsAndTeardowns(PageData pageData, boolean isSuite) { if (isTestPage(pageData)) { includeSetupAndTeardownPages(pageData, isSuite); .. 2022. 12. 20.
[클린코드] 2장. 의미 있는 이름 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 2장 의미 있는 이름 의도를 분명히 밝혀라 ⚈ 의도가 분명하게 이름을 지어라. 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. ⚈ 변수, 함수, 클래스의 이름은 다음의 질문에 답해야 한다. 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. 존재 이유는? 수행 기능은? 사용 방법은? ind d; //경과 시간(단위: 날짜) VS int elapsedTimeInDays; int daysSinceCreatio.. 2022. 12. 14.
[클린코드] 1장. 깨끗한 코드 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. ⚈ 팀이나 공동체에서 서로 동의하는 합리적인 원칙을 세우기 위한 소통이 핵심 이 책은 이런 소통을 위한 기초 지식을 제공하고 생각할 거리를 던져주는 책 1장 깨끗한 코드 ⚈ 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업이 바로 프로그래밍이고, 그 결과가 바로 코드다. 코드는 요구사항을 표현하는 언어이다. ⚈ 우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 나중은 결코 오지 않는다. (르블랑의 법칙) ⚈ 나쁜.. 2022. 12. 14.