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

뉴우비(newwwbi)·2022년 2월 6일
0

클린 코드

목록 보기
1/2
post-thumbnail

아래의 내용은 로버트 C. 마틴의 <클린 코드> 책을 공부하며 중요한 내용을 정리한 것입니다.

코드가 존재하리라

사람의 문장을 읽고 해석해서 코드로 만들어주는 AI 기술이 개발되었다.

github copilot

이제 코드를 자동으로 생산하는 시대가 열린 것이다.
아직 완성도는 조금 부족하지만, 머지않아 현업에서 사용할 수 있을 정도로 개선될 것이다.
그럼 이제 더이상 코드는 사용되지 않는 걸까?
개발자로 커리어를 시작한지 6개월 밖에 되지 않았는데... 나는 곧 백수가 되는 걸까?ㅜㅜ

백수가_아니라_거지짤

저자의 주장에 의하면 (다행히도) NO이다.
앞으로 코드가 사라질 가능성은 전혀 없다.
왜냐하면 코드는 요구사항을 상세히 표현하는 수단이기 때문이다.
컴퓨터는 우리가 원하는 대로 움직이는 기계가 아니라, 우리가 시키는 대로 움직이는 기계다.
컴퓨터에게 어떤 일을 시키려면, 컴퓨터가 그것을 이해하고 실행할 수 있도록 엄밀하고 정확하고 상세하게 표현해야 한다.
자연어를 통해서 컴퓨터가 이해하고 실행할 수 있을 정도로 요구사항을 상세하게 표현하는데는 한계가 있다.
왜냐하면 자연어, 그러니까 인간의 언어는 비정형적이기 때문이다.
같은 것을 말하더라도 말하는 사람에 따라서 말하는 방식이 전부 다르다.
그리고 같은 말을 듣더라도 듣는 사람에 따라 완전히 다르게 이해할 때도 있다.
그러므로 어느 수준에 이르면 코드의 도움 없이는 요구사항을 상세하게 표현할 수 없다.
컴퓨터가 이해하고 실행할 수 있을 정도로 요구사항을 상세하게 표현하기 위해서는 코드의 도움이 필요하다.
그러므로 앞으로 코드가 사라질 가능성은 전혀 없다.

태도

나쁜 코드는 왜 생길까? 좋은 코드가 어째서 순식간에 나쁜 코드로 전략할까?
대부분의 프로그래머들은 온갖 이유를 든다.
갑자기 원래 설계를 뒤집는 방향으로 요구사항이 바꿔버렸다고...
프로젝트 관리자가 개발 일정을 촉박하게 잡아서 제대로 개발할 시간이 없었다고...
하지만 나쁜 코드가 만들어지는 것은 전적으로 개발자의 잘못이다.
개발자는 보통 프로젝트를 계획하는 과정에 깊숙히 관여한다.
대다수의 프로젝트 관리자는 독단적으로 일정을 정하지 않는다.
일정을 정한 다음에 개발자에게 실천 가능성에 대해서 묻는다.
그러므로 개발자도 개발 일정 산출 실패의 책임에서 완전히 자유로울 수 없다.
그리고 좋은 코드를 사수하는 일은 개발자의 책임이다.
프로젝트의 기획자나 관리자는 나쁜 코드가 초래하는 결과에 대해서 잘 알지 못한다.
전문가라면 기획자나 관리자에게 좋은 코들를 유지하는 것이 얼마나 중요한 일인지 설득할 수 있어야 한다.

profile
배운 지식을 다른 사람과 공유하고 싶습니다

0개의 댓글