Clean Code 읽기(1)

1장 깨끗한 코드

  • 코드가 존재하리라

    코드에 대해 회의론자들도 존재하지만 ‘코드’는 절대 사라질 수 없다.

  • 나쁜코드

    나쁜코드가 탄생하는 이유가뭔가.. 급해서, 서두르느라, 일단은 돌아가니까 나중에 고치자는 마인드.. 나중은 없다!

  • 나쁜코드로 치르는 대가

    나쁜 코드가 쌓일수록 팀 생산성이 떨어짐 -> 생산성 증가를 위해 인력을 추가 -> 새 인력은 설계의도에 맞게 변경하지 못함 -> 악순환 발생

    • 원대한 재설계의 꿈

      그래서 재설계라는 새로운 프로젝트를 실행 -> 그러나 현재시스템이 매우 엉망이라 재설계에 실패 –> 결론 : 깨끗한 코드를 만드려는 노력이 필요하다!

    • 태도

      잘못은 우리에게 있다. 남탓하지말라. 요구사항을 관리자에게 확실하게 전달해라

    • 원초적 난제

      데드라인을 지키려고 어쩔수 없이 빠르게 가기 위해 나쁜 코드를 양산한다. 그러나 사실은 나쁜 코드 양산이 더 느리다. 깨끗한 코드를 작성해야 더 빠르게 갈 수 있다.


여기 까지 느낀점 : 나쁜 코드는 나쁘다! 그리고 이것은 순전히 우리탓이다. 내가 깨끗한 코드를 써야한다.

  • 개끗한 코드라는 예술

    그러면 깨끗한 코드가 뭔데? -> 깨끗한/더러운 코드를 구분하는것은 할수있으나 깨끗한코드를 작성하는것은 어렵다. 많은 노력이 필요하다. 코드감각!

  • 깨끗한 코드란?

    비야네 스트롭스트룹- 우아한 코드, 코드를 망치려는 유혹에 빠지지 않는다, 오류처리(메모리누수, race condition, 일관성없는 명명법), 한가지를 제대로 하는 코드

    그래디 부치 - 가독성이 좋아야한다. 설계자의 의도를 잘 드러내야한다.

    데이브 토마스 - 역시 가독성, 다른사람도 고치기 쉬운 코드, 테스트 주도 개발 강조(TDD)

    마이클 페더스 - 주의깊게 작성했다. 클린코드 - 코드를 주의깊게 짜는 방법

    론 제프리스 - 중복을 피한다, 제대로된 표현(네이밍같은..?), 한 메소드/ 한 클래스는 한가지 기능만, 작게 추상화해라

    워드 커닝햄 - 짐자가한 기능을 잘 수행해야한다. 코드가 문제를 해결하기 위한 언어여야한다.

    내가 생각하는 결론 : 가독성(가독성에는 표현력도 들어가있다.), 중복없음, TDD.. 이정도가 크게 와닿는다

  • 우리들 생각

    이 책을 바이블처럼 생각하고 공부하자, 그러나 ‘맹신’은 하면안된다 언제나 더 좋은 책이 있을수도있다.

  • 우리는 저자다

    코드를 작성하는것도 결국 저자다, 그리고 그 코드를 읽는 독자도있을것이다. 잘 쓴 코드로 소통을 원활하게 할 책임이있다.

  • 보이스카우트 규칙

    잘 짠 코드 - 코드를 유지보수

  • 프리퀄과 원칙

  • 결론

    앞으로 좋은코드, 나쁜코드를 좋은코드로 고치기, 등 기술적인것들을 많이 보여줄테지만 결국 내가 해야한다.


1장을 보고..

관리자와의 요구사항 내용에서.. 물론 관념적으로는 이해가 된다. 그러한것들을 듣기도했고 짤같은걸로 보기도했으니.. 근데 직접 경험하지는 않아서 엄청 와닿지는 않는다…?

그 나도 나쁜코드로 프로젝트를 진행하다가 싹 갈아엎은적이있었다. 그래서 1장을 읽어보니 클린코드를 알고, 잘 할 수 있어야겠다 라고 생각은 들었다. 근데 역시 어떻게 하는지는 아직 잘 모르겠다. 2장 3장 계속읽다보면.. 알게될지도

댓글남기기