![클린 코드 : 깨끗한 코드](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F55j80%2FbtsIhdwioA4%2FqSiMGDiUD1HU6kpNKrqNe1%2Fimg.png)
부제 : 코드를 주의깁게 짜는 방법
1장 깨끗한 코드
코드가 존재하리라
- 코드는 없어지지 않는다. 코드란 요구사항을 상세히 표현하는 수단이다
- 요구사항을 모호하게 줘도 우리의 의도를 정확하게 꿰뚫는 프로그램은 없다. - chat gpt?
나쁜코드
- 시간에 쫗겨 아무렇게나 코드를 작성하다보면, 쓰레기 코드를 나중에 손보겠다고 넘기면, 일단 프로그램이 돌아가니까 방치하면 어떻게 될까?? = 망한다 싹. 나중은 결코 오지 않는다
- 르블랑의 법칙
나쁜 코드로 치르는 대가
- 나쁜 코드 즉 쓰레기처럼 코드를 짜두면 나중에 코드 수정시 매번 얽힌 코드를 해독해야하고 생산성은 갈수록 떨어진다
원대한 재설계의 꿈
- 자. 재설계를 웬만하면 회사에서 안 시키지만 시키면 누가하냐? 잘 하는 애들이 한다. 그럼 나는 뭐하냐? 못하니까 기존 유지보수를 한다.
- 즉 뭐다? 재설계는 꿈이다. 내가 할려면 실력이 그만큼 더 있어야하며, 처음부터 나쁜 코드로 짜지 않았다면 재설계까지 갈 필요도 없는 것이다
태도
- 우리는 보통 관리자나 기획자의 의도 혹은 요구사항대로 코드를 짜고 있다. 다만 나중에 코드가 불량하다고 그 사람들을 탓할 수 가 있을까? 결국 내가 코드 쓰레기처럼 짜서 생산성이 떨어진건데? 태도를 고치자
- 잘못된 코드로 생산성이 떨어진다면 그건 개발자 잘못이다. 처음부터 기획자나 상사에게 요구사항에 대해 토의하고 코드를 깨끗하게 짰다면 이런 불상사는 일어나지 않았다
원초적 난제
- 기한을 맞추기 위해 나쁜 코드를 양산하다 , 빨리 가려고 시간을 들이지 않는다 : 진짜 나중에 개고생한다 정신차려라
- 빨리 가는 유일한 방법은 코드를 최대한 깨끗하게 유지하는 습관이다
깨끗한 코드란?
- 논리가 간단해야한다.
- 의존성을 줄여야 유지보수가 쉽다
- 철저한 오류 처리 ( 메모리 누수 , 경쟁 상태, 일관성 없는 명명법 )
- 한가지만 잘하는 코드 : 클래스나 함수는 오직 하나의 상태에만 집중!
- 가독성이 좋은 코드
- 코드는 추측이 아니라 사실에 기반해야 하며 필요한 내용만 담아야한다.
- 다른 사람도 쉽게 고칠 수 있는 코드
- 단위 테스트와 인수 테스트 케이스가 존재한다 , 모든 테스트를 통과한다
- 주의깊게 짜서 누군가가 딱히 수정할 필요가 없는 코드
- 중복이 없다
- 클래스, 메서드 , 함수 등을 최대한 줄인다
경쟁 상태
공유 자원에 대해 여러 프로세스가 동시에 접근을 시도할 때, 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태
우리는 저자다
- 우리가 코드를 작성할 때 보통 기존의 코드를 보면서 코드를 짜는데 이게 기존의 코드를 읽고 해석하는데 짜는 것보다 시간이 더 걸린다. 즉 기존 코드가 잘 짜여 있으면 새 코드르 짜기가 쉽다. 우린 저자다. 또 독자다. 가독성이 좋아야 코드란 책을 읽기가 쉬워진
참고
https://product.kyobobook.co.kr/detail/S000001032980
Clean Code(클린 코드) | 로버트 C. 마틴 - 교보문고
Clean Code(클린 코드) | 프로그래머, 소프트웨어 공학도, 프로젝트 관리자, 팀 리더, 시스템 분석가에게 도움이 될 더 나은 코드를 만드는 책『Clean Code(클린 코드)』은 오브젝트 멘토(Object Mentor)의
product.kyobobook.co.kr
'도서' 카테고리의 다른 글
클린코드 : 객체와 자료 구조 (0) | 2024.07.07 |
---|---|
클린코드 : 형식 맞추기 (0) | 2024.07.07 |
클린 코드 : 주석 (0) | 2024.07.07 |
클린 코드 : 함수 (0) | 2024.06.29 |
클린 코드 : 의미 있는 이름 (0) | 2024.06.29 |
하고 싶은 걸 하고 되고 싶은 사람이 되자!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!