가독성 높은 코드를 작성하라-1

tk_jang·2023년 6월 3일

좋은코드 나쁜코드

목록 보기
6/20

서술형 명칭 사용

1. 서술적이지 않은 이름은 코드를 읽기 어렵게 만든다.

서술적이지 않은 이름으로 코드를 작성 한다면, 이 코드가 무엇을 하는지,
코드에 있는 문자열, 정수, 클래스가 어떤 개념을 나타내는지 전혀 모를 것이다.

2. 주석문으로 서술적인 이름을 대체할수 없다.

조금은 개선되겠지만 여전히 문제가 있다.

  • 코드가 훨씬 더 복잡해 보인다. 작성자와 다른 개발자는 코드뿐만 아니라 주석문과 문서도 유지보수해야 한다.
  • 개발자는 코드를 이해하기 위해 파일을 계속해서 위아래로 스크롤해야 한다. 코드를 파악할 때getS() 함수를 보고 변수 s의 용도를 잊어버린 경우, s가 무엇인지 설명하는 주석을 찾기 위해 파일 맨 위로 스크롤해야 한다. T 클래스가 수백 줄의 길이라면, 이것은 꽤 번거로운 일이다.
  • 함수 s()의 내용을 확인할 때 클래스 T를 살펴보지 않는 한 t.f(n)와 같은 호출이 무엇을 하는지 또는 무엇이 반환되는지 알기 어렵다.

3. 해결책: 서술적인 이름 짓기

서술적인 이름을 사용하면 조금 전에 살펴본 이해하기 어려운 코드가 갑자기 이해하기 쉬운 코드로 바뀐다.

주석문의 적절한 사용

코드 내에서 주석문이나 문서화는 다음과 같은 다양한 목적을 수행할 수 있다.

  • 코드가 무엇을 하는지 설명
  • 코드가 왜 그 일을 하는지 설명
  • 사용 지침 등 기타 정보 제공

서술적인 이름으로 잘 작성된 코드는 그 자체로 줄 단위에서 무엇을 하는지 설명한다.
코드의 기능을 설명하기 위해 낮은 층위의 주석문을 많이 추가해야 한다면, 이것은 코드 자체의 가독성이 떨어진다는 신호다.

반면에 코드가 왜 그 일을 하는지에 대한 이유나 배경을 설명하는 주석문은 유용할 때가 많은데, 코드만으로는 이를 명확히 할 수 없기 때문이다.

1. 중복된 주석문은 유해할 수 있다.

  • 개발자는 주석문을 유지보수해야 한다. 코드를 변경하면 주석문 역시 수정해야 한다.
  • 코드를 지저분하게 만든다. 모든 코드 줄이 이와 같은 관련 주석을 가지고 있다고 상상해보라, 100줄의 코드를 읽으려면 100줄의 코드와 100개의 주석문을 읽어야 한다. 이런 주석문은 추가적인 정보를 제공하지 않기 때문에 개발자의 시간만 낭비할 뿐이다.

2. 주석문으로 가독성 높은 코드를 대체할 수 없다.

코드 자체의 가독성이 높지 않으면 주석문이 필요하지만 더 나은 접근법은 가독성이 좋은 코드를 작성하는 것이다.
코드 자체로 설명이 되도록 코드를 작성하면 유지 및 관리의 과도한 비용을 줄이고 주석문의 내용이 업데이트되지 않거나 잘못될 가능성을 없애주기 때문에 더 유익하다.

코드 줄 수를 고정하지 말라

간결하지만 이해하기 어려운 코드는 피하라

모든 세부 사항과 가정을 매우 간결한 단 한 줄의 코드로 압축할 때 다음과같은 문제가 있다.

  • 다른 개발자는 이 단 한 줄의 코드에서 이 모든 세부 사항과 가정을 도출하기 위해 많은 노력을 기울여야 한다. 이로 인해 그들의 시간이 낭비되고, 또한 코드를 오해하고 코드를 수정할 때 작동 하지 않게 될 가능성이 커진다.

일관된 코딩 스타일을 고수하라

일관적이지 않은 코딩 스타일은 혼동을 일으킬 수 있다.

우리는 스타일 가이드를 채택하고 따라야 한다.
코딩 스타일 가이드를 채택한다면 가독성이 좋아지고 버그를 예방하는 데 도움이 될 것이다.

대부분의 조직과 팀들은 개발자들이 따라야 할 코딩 스타일 가이드를 이미 가지고 있을 것이기 때문에 어떤 스타일을 채택해야 할지 여러분이 고민할 필요는 없을 것이다.
팀이 요구하는 스타일 가이드를 읽고 파악한 후에 그대로 따르면 된다.

0개의 댓글