본문 바로가기
반응형

클린코드5

[도서] 프로그램 프로그래밍 프로그래머 시리즈 순서!! / Program Programming Programmer 구글링이나 네이버에 검색을 해도 시리즈의 순서가 정리된 글이 없어서 직접 작성해 봅니다. 개발자에게 너무 좋은 책들이라서 기록해뒀다가 한 권씩 읽어보세요. 프로그램 프로그래밍 프로그래머 시리즈 (총 12권) 1. 생각하는 프로그래밍, 존 벤틀리 3. 컴퓨터 프로그램의 구조와 해석, 해럴드 애빌슨, 제럴드 제이 서스먼, 줄리 서스먼 4. 테스트 주도 개발, 켄트 벡 5, 프로그래밍 심리학, 제럴드 M. 와인버그 6. CODE - 하드웨어와 소프트웨어에 숨어있는 언어, 찰스 펫졸드 7. 클린 코드 - 애자일 소프트웨어 장인 정신, 로버트 C. 마틴 8. 피플웨어, 톰 드마르코, 티모시 리스터 9. 맨먼스 미신, 프레더릭 브룩스 11. 클린 아키텍처 - 소프트웨어 구조와 설계의 원칙, 로머트 C. 마틴 12... 2023. 1. 10.
[클린코드 리뷰] 5. TDD, 테스트 코드를 깨끗하게 유지하자. 작은 회사는 TDD(Test Driven Development / 테스트 주도 개발)를 못한다. 그 회사들 중 절반은 TDD가 뭔지도 모를 것이고, 나머지 절반은 알아도 여력이 없어서 못한다고 말하리라. 하지만 여력이 없다는 핑계로 테스트케이스를 만들지 않은 대가는 결국 부메랑처럼 돌아온다. 그 시스템의 수정은 항상 불안하며 버그를 발생하게 한다. 나 역시 그랬다. 예를들어 기존의 입력폼에 간단한 항목 하나를 추가한다고 해보자. 뷰페이지와 데이터베이스에 추가하는 건 간단하다. 그리고 생각한다. '사용자 정보가 노출되는 페이지, 마이페이지, 관리자 페이지의 목록들과 팝업창, 그리고 어떤 함수에 들어가서 계산이 되는 곳, 혹은 통계페이지, 혹은 리포트, 그리고 엑셀, 워드 등등.. 오케이 다 추가했다!!' .. 2022. 12. 31.
[클린코드 리뷰] 4. 절차적인 코드와 객체지향 코드 1. 절차적인 도형 public class Square { public Point topLeft; public double side; } public class Rectangle { public Point topLeft; public double height; public double width; } public class Circle { public Point center; public double radius; } public class Geometry { public final double PI = 3.141592653589793; public double area(Object shape) throws NoSuchShapeException { if (shape instanceof Square) { .. 2022. 11. 26.
[클린코드 리뷰] 3. 나쁜 코드에 주석을 달지 마라. 새로 짜라. 1. 주석은 나쁜 코드를 보완하지 못한다. 주석은 '순수하게 선하지' 못하다. 사실상 주석은 기껏해야 필요악이다. 우리는 코드로 의도를 표현하지 못해, 그러니까 실패를 만회하기 위해 주석을 사용한다. 여기서 내가 실패라는 단어를 썼다는 사실에 주목한다. 진심이다. 주석은 언제나 실패를 의미한다. 때때로 주석 없이는 자신을 표현할 방법을 찾지 못해 할 수 없이 주석을 사용한다. 그러므로 주석이 필요한 상황에 처하면 곰곰이 생각하기 바란다. 상황을 역전해 코드로 의도를 표현할 방법은 없을까? 코드로 의도를 표현할 때마다 스스로 칭찬해준다. 주석을 달 때마다 자신에게 표현력이 없다는 사실을 푸념해야 마땅하다. 내가 이렇듯 주석을 무시하는 이유가 무엇이냐고? 거짓말을 하니까. 항상도 아니고 고의도 아니지만 너무.. 2022. 11. 17.
[클린코드 리뷰] 1. 좋은 코드와 나쁜 코드에 대하여 1. 나쁜 코드 프로그래머라면 누구나 당연히 나쁜 코드로 고생한 경험이 있다. 그렇다면 묻겠다. 어째서 나쁜 코드로 짰는가? 급해서? 서두르느라? 아마 그랬으리라. 제대로 짤 시간이 없다고 생각해서, 코드를 다듬느라 시간을 보냈다가 상사한테 욕 먹을까봐, 지겨워서 빨리 끝내려고, 다른 업무가 밀려 후딱 해치우고 밀린 업무로 넘어가려고... 우리는 모두 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 우리 모두는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다는 쓰레기가 좋다고 스스로를 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. 물론 그때 그 시절 우리는 르블랑의 법칙을 몰랐다. 나중은 결코 오지 않는다. 2. 태도 좋은.. 2022. 11. 6.