기록장

[클린코드] 1장 - 깨끗한 코드 본문

학습 및 기록/IT서적_기록

[클린코드] 1장 - 깨끗한 코드

HJJJJJ 2023. 9. 6. 22:20
728x90

 

코드가 존재하리라

 

-코드의 종말이 코앞에 닥쳤다고 주장하는 사람이 없지 않다.

코드를 자동으로 생성하는 시대가 다가온다는 말이다

그때가 되면 프로그래머는 필요가 없다 영업 직원이 명세에서 프로그램을 자동으로  생성하면 되니까 

 

-> 이 부분 좀 놀랐다 2010 책인데 지금 챗gpt가 나와서 자세하게 요구하면 코드를 다 짜주니까!!

통찰력에 감탄했다

 

-헛소리! 앞으로 코드가 사라질 가망은 전혀 없다 왜? 코드는 요구사항을 상세히 표현하는 수단이니까!

 

-앞으로 프로그래밍 언어에서 추상화 수준은 점차 높아지리라 더불어 특정 응용 분야에 적합한 프로그래밍 언어가 수도 없이 많아지리라 예상한다

 

나쁜 코드

 

-회사가 사망한 원인은 바로 나쁜 코드 탓이었다

 

-프로그래머라면 누구나 당연히 나쁜 코드로 고생한 경험이 있다 그렇다면 묻겠다. 어째서 나쁜 코드를 짰는가? 

 

급해서? 서두르느라? 아마 그랬을리라 제대로 짤 시간이 없다고 생각해서, 코드를 다듬다가 상사에 욕 먹을까봐, 지겨워서 빨리 끝내려고, 다른 업무가 너무 밀려 후딱 해치우고 밀린 업무로 넘어가려고 ... 모두가 겪어본 상황이다 

 우리는 모두가 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 우리 모두는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. 물론 그떄 그 시절 우리는 르블랑의 법칙을 몰랐다 나중은 결코 오지 않는다 

 

 

나쁜 코드로 치르는 대가 

 

-시간을 들여 깨끗한 코드를 만드는 노력이 비용을 절감하는 방법이자 전문가로 살아남는 길

 

-좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다

 

-자신이 의사라면 환자의 말을 그대로 따르는 행동은 전문가 답지 못하다 

즉 프로그래머도 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다

 

-기한을 맞추는 유일한 방법 즉 빨리가는 유일한 방법은 언제나 코드를 최대한 깨끗하게 유지하는 습관이다

 

-깨끗한 코드를 작성하는 프로그래머는 빈 캔퍼스를 우아한 작품으로 바꿔가는 화가와 같다

 

 

비야네:

-깨끗한 코드란 한가지를 잘 한다고 단언한다, 즉 한가지에 집중한다 

-나쁜 코드는 너무 많은 일을 하려고 애쓰다가 의도가 뒤섞이고 목적이 흐려진다

 

그래디:

가독성을 강조 

-깨끗한 코드가 잘 쓴 문장처럼 읽혀야한다

-반드시 필요한 내용만 담아야한다. 코드를 읽는 사람에게 프로그래머가 단호하다는 인상을 줘야한다

 

데이브:

-가독성 강조

-깨끗한 코드란 다른 사람이 고치기 쉽다고 단언한다

-실제로 읽기 쉬운 코드와 고치기 쉬운 코드는 엄연히 다르다

-인간이 읽기 좋은 코드를 작성하라

 

마이클:

-깨끗한 코드는 주의 깊게 짰다는 느끼을 준다

-누군가 시간을 들여 깔끔하고 단정하게 정리한 코드다

-세세한 사항까지 꼼꼼하게 신경쓴 코드다 

 

론:

간단한 코드

-모든 테스트를 통과

-중복이 없다

-시스템 내 모든 설계 아이디어를 표현한다

-클래스 메서드 함수 등을 최대한 줄인다

 

-->중복 줄이기, 표현력 높이기, 초반부터 간단한 추상화 고려하기

->한기능만 수행하기, 제대로 표현하기, 작게 추상화

 

워드:

깨끗한 코드는 읽으면서 놀랄 일이 없어야한다

코드를 독해하느라 머리를 쥐어짤 필요가 없어야함

 

결론

-새코드를 짜면서 우리는 끊임없이 기존코드를 읽는다

-비율이 이렇게 높으므로 읽기 쉬운 코드가 매우 중요하다(이게 쉽지는 않아도)

-서둘러 끝내려면, 쉽게 짜려면 읽기 쉽게 만들면 된다 

-변수 이름 하나를 개선하고, 조금 긴 함수 하나는 분할하고, 약간의 중복을 제거하고, 복잡한 if문 하나를 정리하면 충분하다

-지속적인 개선은 전문가 정신의 본질

-"연습해, 연습"

728x90

'학습 및 기록 > IT서적_기록' 카테고리의 다른 글

[클린코드] 4장- 주석  (0) 2023.09.19
[클린코드] 3장-함수  (0) 2023.09.18
[클린코드] 2장-의미 있는 이름  (0) 2023.09.17
Comments