클린코드 8

[노마드코더 북클럽] 클린코드 9. 단위 테스트

오늘 TIL 3줄 요약 테스트 코드는 실제 코드 못지 않게 중요하다 테스트 당 개념 하나 F.I.R.S.T Fast, Independant, Repeatable, Self-validating, Timely TIL (Today I Learned) 날짜 2022. 03.06 오늘 읽은 범위 9장. 단위테스트 책에서 기억하고 싶은 내용을 써보세요. 테스트 코드가 복잡할수록 실제 코드를 짜는 시간보다 테스트 케이스를 추가하는 시간이 더 걸리기 십상이다. 테스트 코드는 실제 코드 못지 않게 중요하다 깨끗한 테스트 코드를 만들려면? 세 가지가 필요하다. 가독성, 가독성, 가독성. 빠르게, 독립적으로, 반복가능하게, 자가검증하는, 적시에 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 테스트 코드가 중요한걸..

TIL 2022.03.06

[노마드코더 북클럽] 클린코드 7. 오류처리

오늘 읽은 범위 7. 오류처리 책에서 기억하고 싶은 내용을 써보세요. 오류 코드보다 예외를 사용하라(p.130) 오류가 발생하면 예외를 던지는 편이 낫다. 그러면 호출자 코드가 더 깔끔해진다.(p.131) null을 반환하지 마라. null을 반환하는 코드는 일거리를 늘릴 뿐만 아니라 호출자에게 문제를 떠넘긴다.(p138-139) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 시간이 지날수록 오류를 처리하는 것이 중요하게 느껴진다. 안그래도 오늘 기능을 만들면서 오류 처리를 어떻게 해야할지 고민했었는데 글을 읽으며 어느정도 정리가 된 것 같다. 좋은 코드를 작성하고 쉽게 디버깅을 할 수 있다는 점에서 주의깊게 처리해야할 것 같다. 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요...

카테고리 없음 2022.03.04

[노마드코더 북클럽] 클린코드 6. 객체와 자료 구조

오늘 읽은 범위 6. 객체와 자료 구조 책에서 기억하고 싶은 내용을 써보세요. 시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. 우수한 소프트웨어 개발자는 편견없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다.(p.128) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 나는 python을 주로 사용하고 Java를 잘 알지 못하다보니 이 파트를 이해하는 것이 쉽지 않았다. 아직 개발을 시작한지 1년이 조금 넘은 주니어라서 자바를 배워보고 싶은 마음도 있는 동시에 파이썬에 집중해야하는 시기 같기도 해서 고민 중이다. 궁금한 내용이 있거나, 잘 이해되지 않..

TIL 2022.03.01

[노마드코더 북클럽] 클린코드 5. 형식 맞추기

오늘 읽은 범위 5. 형식 맞추기 책에서 기억하고 싶은 내용을 써보세요. 코드 형식은 중요하다! 너무 중요해서 무시하기 어렵다. 너무나도 중요하므로 융통성 없이 맹목적으로 따르면 안된다, 코드 형식은 의사소통의 일환이다(p.96) 프로그래머라면 각자 선호하는 규칙이 있다. 하지만 팀에 속한다면 자신이 선호해야 할 규칙은 바로 팀 규칙이다(p.113) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 Pycharm을 사용하면 코드형식이 맞지 않는 부분을 표시해줘서 그동안 크게 신경쓰지는 않았던 것 같다. 개발자로서 첫 이직을 하고 나서 같은 언어를 쓰더라도 팀마다 다른 규칙이 있다는 것을 실제로 배울 수 있었다. 프로그래머라면 각자 선호하는 규칙이 있지만 팀에 속한다면 팀 규칙을 선호해야한다는 문장이 ..

TIL 2022.03.01

[노마드코더 북클럽] 클린코드 4. 주석

오늘 읽은 범위 4. 주석 책에서 기억하고 싶은 내용을 써보세요. 잘 달린 주석은 그 어떤 정보보다 유용하다. 경솔하고 근거 없는 주석은 코드를 이해하기 어렵게 만든다. 오래되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨려 해악을 미친다. (p.68) 진실은 한곳에만 존재한다. 바로 코드다. 코드만이 자기가 하는 일을 진실되게 말한다. 코드만이 정확한 정보를 제공하는 유일한 출처다. 그러므로 우리는 (간혹 필요할지라도) 주석을 가능한 줄이도록 꾸준히 노력해야 한다.(p.68) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 나는 클래스나 함수의 기능을 설명하면서 중간중간 주석을 다는 편이라서 '코드로 설명할 수 있다면 주석을 굳이 달 필요가 없다'는 식의 의견이 있으리라고는 잘 생각해보지 못한 것 같..

TIL 2022.02.24

[노마드코더 북클럽] 클린코드 3.함수

오늘 읽은 범위 3장. 함수 책에서 기억하고 싶은 내용을 써보세요. 함수는 한 가지를 해야 한다. 그 한가지를 잘 해야 한다. 그 한가지만을 해야 한다(p.44) 함수가 확실히 한가지 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다.(p.45-46) 내가 함수를 짤 때도 마찬가지다. 처음에는 길고 복잡하다. 들여쓰기 단계도 많고 중복된 루프도 많다...(중략) 그런 다음 나는 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다. 메서드를 줄이고 순서를 바꾼다. 때로는 전체 클래스를 쪼개기도 한다. 이 와중에도 코드는 항상 단위 테스트를 통과한다. (p.61) 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 프로그래밍을 잘 하는 사람들은 처음부터 완벽하게 깔끔한 코드를 작..

TIL 2022.02.23

[노마드코더 북클럽] 클린코드 2. 의미있는 이름

오늘 읽은 범위 2장. 의미있는 이름 책에서 기억하고 싶은 내용을 써보세요. 의도를 분명히 밝혀라 변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. 그릇된 정보를 피하라 - 나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용해도 안된다.(ex hp, ais, sco는 유닉스 플랫폼이나 유닉스 변종을 가리키는 이름) - 실제 List가 아니라면 accountList로 명명하지 않는다. - 서로 흡사한 이름을 사용하지 않도록 주의한다.(ex. XYZControllerForEfficientHandlingOfString, XYZControllerForEffici..

TIL 2022.02.20

[노마드코더 북클럽] 클린코드 1. 깨끗한 코드

오늘 읽은 범위 1장. 깨끗한 코드 책에서 기억하고 싶은 내용을 써보세요. 깨끗한 코드를 작성하는 방법은 배우기 어렵다. 단순히 원칙과 패턴을 안다고 깨끗한 코드가 나오지 않는다. 고생을 해야 한다. 스스로 연습하고 실패도 맛봐야 한다. 남들이 시도하다 실패하는 모습도 봐야 한다. 그들이 넘어지고 일어서는 모습도 봐야 한다. 결정을 내리느라 고민하는 모습, 잘못된 결정으로 대가를 치르면 모습도 봐야 한다. 깨끗한 코드는 읽으면서 놀랄 일이 없어야 한다고 위드는 말한다. 맞는 말이다. 코드를 독해하느라 머리를 쥐어짤 필요가 없어야 한다. 읽으면서 짐작한대로 돌아가는 코드가 깨끗한 코드다...(중략) 이만큼 깨끗한 코드는 너무나도 잘 짜놓은 코드라 읽는 이가 그 사실을 모르고 넘어간다. 모든 뛰어난 설계처럼..

TIL 2022.02.19