이 게시글은 데이비드토머스 와 앤드류헌트의 책 '실용주의 프로그래머'의 내용 중 일부를 정리한 것이다.

 

"어떻게 해야 더 좋은 코드를 만들 수 있을까?"

더 좋은 코드

그렇다면 좋은 코드란 무엇인가?
표현을 조금 다르게 해보겠다.
좋은 코드는 목적에 맞게 잘 설계된 코드이다.

잘 설계된 코드

먼저 잘 설계된 코드에 대해 말해보자.
물론 어떤 코드가 잘 설계된 코드인지 말하기는 아주 어렵다.



특히 코딩 공부를 시작한지 4개월 밖에 되지 않은 나에게는 더욱!
하지만 어떤 코드가 더 나은 코드인지 말할 수는 있다.

 

"ETC: Easy To Change!"




책 <실용주의 프로그래머>에서 거듭 강조하는 개념이다.
쉽게 바꿀 수 있다는 게 무슨 말인가?

 

잘 설계되었다는 건 그 물건이 사용하는 사람에게 적응하여 맞춰진다는 것이다.
이 말을 코드에 적용해 보면, 잘 설계된 코드는 바뀜으로써 사용하는 사람에게 맞춰져야 한다.

 

ECT가 주는 이점

  1. 왜 결합도가 낮은 코드가 좋은 코드인가?
    • 왜냐하면 결합도가 낮은 코드는 바꾸기 쉽기 때문이다.
  2. 왜 하나의 함수는 하나의 기능만을 수행하여야 하는가?
    • 어떤 기능에 문제가 발생한다면 그 기능을 담당하는 함수 하나만 바꾸면 문제가 해결되기 때문이다.
  3. 왜 읽기 좋은 코드를 써야하는가?
    • 코드를 바꾸려면 코드를 읽어야 하기 때문이다.
  4. 왜 중복 없는 코드를 작성해야 하는가?
    • 코드를 바꿀때 수정해야할 부분이 많아지기 때문이다.



물론 각각의 질문에는 더 많은 이유들이 있다.
하지만 바꾸기 쉬운 코드를 작성함으로써 그 이유들도 만족시킬 수 있다.



누군가는 여기서 이런 질문을 할 수 있다.
"프로그램의 안정성이나 성능은 신경쓰지 않는 건가요?"



이 질문에 대한 답은 3번 질문이 줄 것이다.
코드가 느리다면 더 빠른 로직으로 바꿔야 한다.
코드가 틀렸다면 맞는 로직으로 바꿔야 한다.



바꾸기 쉽다면 위의 문제들은 쉽게 해결될 것이다.
그리고 문제를 해결하는 것이 프로그래머가 하는 일이자 코드의 목적이다.

결국 문제를 해결하기 위함이다.

이제 코드의 목적에 대해 알아보자



우리가 코딩을 하고 프로그램을 만드는 이유는 우리가 가진 문제를 해결하기 위함이다.
여기서 말하는 문제는 골칫덩어리만을 뜻하지는 않는다.

우리의 일은 사람들이 자신이 원하는 바를 깨닫도록 돕는 것이다. 사실 이게 우리의 가치가 가장 빛나는 부분일 것이다.

 

고객이 원하는 바를 깨닫게 하고 그 문제를 해결하는 코드를 작성해야한다.

원하는 바, 즉 요구사항은 피드백을 통해 구체화되고 함께 고민하면서 문제를 해결하는 제품이 완성된다.

'기타' 카테고리의 다른 글

조각글: 프론트엔드 최신 정보 따라잡기  (0) 2024.02.28

+ Recent posts