들어가기 전

개발자가 되기 에도 개발자로 첫 취직을 하고 나서도 좋은 개발자가 되는 방법에 대해 깊은 성찰 없이 구호만 외쳐왔습니다. 이 책을 읽었을지라도 부단히 노력하고 무의식으로 내재하지 않는 한…. 또 공허한 구호만 될 것이 틀림 없으시면서도.

어쨌든 한 번이고, 두 번이고, 세 번이고 의식하며 훌륭한 프로그래머 되는 법에서 소개하는 내용과 질문에 대해 성찰한다면 분명 level Up! 하는 개발자가 되는 것이고 그렇지 않다면 좋은 유희 거리가 되거나 혹은 이 책정도 읽었으니 조금이나마 훌륭한 프로그래머가 되려고 노력했다고 자신을 위안 삼을지도 모르겠습니다.

책(콘텐츠)을 읽는 시점과 독자가 처한 상황에 따라 긁기 읽히는 것은 각양각색일 것입니다. 저의 경우 CS에 대한 지식이 부족하다는 자조적인 생각과 2년 차가 되었지만 여러 회사를 옮겨 깊이 있는 언어의 공부가 부족하다는 생각 그리고 현재 있는 회사에서 유산 언어와 코드 베이스로 경력을 맞아야 한다는 생각에 긍정적인 마음가짐은 아니었습니다.

처음 2021년 개발자가 되는 것이 내 인생의 목표였다면 이제는 정말 훌륭한 프로그래머가 되는 법에 대해 구체적인 접근법을 통해서 행동으로 하나 하나 실행해야 할 차례라고 듭니다.

책의 일부 내용을 일부 인용하자면, 저자 피트평범한 프로그래머와 훌륭한 프로그래머의 차이는 바로 "태도"에 있다. 소프트웨어 회사에서 실제로 일어나는 다양한 제약과 압박 속에서도, 프로다운 접근 방식을 취하고 최고의 코드를 작성하려는 태도로부터 훌륭한 프로그래밍은 태어난다.

책은 5개 파트와, 총 39 챕텁로 이루어져 있습니다.
모든 내용을 소개하기 보다는 글을 정리하면서 하나 하나 정리하고 혹은 미래에 다시 볼 경우 다시 되새김질 할 수 있도록 인상 깊은 내용들만 정리하려 합니다.
책의 내용을 두서 없는 내 글 실력으로 정리 될 지 모르겠지만 말입니다.

🎈 Part1

📗 Chapter1

코드에 신경쓰기

📣 질문

  1. 코드에 신경 쓰는가? 자신이 만든 결과물에서 그 점이 어떻게 드러나는가?
  2. 프로그래머로서 더 나아지고 싶은가? 가장 노력해야 하는 부분은 어떤 부분인가?
  3. 코드에 신경 쓰지 않는다면, 왜 이책을 읽고 있는가?
  4. '좋은 프로그래머가 좋은 코드를 작성한다는 것은 셜록 홈즈가 아니라도 알 수 있는 뻔한 사실이다. 나쁜 프로그래머의 경우는 그렇지 않다'는 문장은 얼마나 정확한가? 좋은 프로그래머가 나쁜 코드를 만들 수도 있는가? 어떠헥 그럴수 있는가?

🎪내용

지옥에 보내 버려 할 코드 역시 좋은 의도로 포장되어 있다. 훌륭한 프로그래머가 되기 위해서는 좋은 의도를 뛰어넘어 실제로 코드에 주의를 기울여야한다. 즉, 긍정적인 관점건전한 태도를 품어야 한다. 일단 이 긍정적인 관점, 건전한 태도라는 단어들이 추상적으로 나에게 와닿는다. 조금더 살펴보자.

좋은 프로그래머가 좋은 코드를 작성한다. 그렇다면 좋은 코드란 무엇인가? -> 어떤 코딩 환경에서든 단지 작동하는 것처럼 보이는 코딩은 거부해야 한다. 프로그래머는 올바르게 작동하는 훌륭한 코드를 짜도록 노력해야 한다. (올바른지 작동을 증명하는 적절한 테스트도 갖추어야 한다.)

또한

  • 의도가 드러나야한다.(다른 사람이 쉽게 파악하고 이해 할 수 있어야 한다.)
  • 유지 보수 가능해야한다.(본인과 다른 사람이 추후 쉽게 수정 할 수 있어야한다.)
  • 정확해야한다(문제를 해결했음을 증명하는 모든 단계를 통과할 수 있어야함. 기능이 작동하는 것처럼 보이기만 해서는 안된다.

어떤 코드든 간에 해당 코드를 만지기 전보다 더 나아지도록 해야한다.

여기서 더 나아짐이란 무엇일까?

  1. 더 좋은 구조
  2. 더 좋은 테스트
  3. 더 쉬운 이해등

코드에 대해 계속해서 주의를 기울이면서 지속적으로 새로운 언어나 문법, 기술을 익혀 나가야한다. 하지만 그 새로운 것들을 실제로 적용하는 것은 적절한 상황에 한정해야 한다.

무엇보다 이처럼 코드에 신경 쓰면서도, 즐거운 프로그래밍을 하는 것을 잊어서는 안된다. 복잡한 문제를 풀기 위해 코드를 수정하는 과정을 즐겨야 한다. 자랑할 만한 소프트웨어를 만들어 내자 .

코드에 대한 감정적 반응은 잘못된 것이 아니다. 훌륭한 결과물을 자랑스러워하거나 더러운 코드에 혐오감을 느끼는 것은 자신이 건전하다는 증거다

profile
어제보다 오늘 그리고 오늘 보다 내일...

0개의 댓글