클린코드(Clean Code)

시디·2022년 1월 30일
0

컴퓨터 공학 기초

목록 보기
4/4

클린 코드는 이해하고 쉬우면서 찾고 싶은 내용을 찾기 쉬운 코드를 의미한다.

좋은 코드는 코드 자체로 설명이 되는 코드이다. 누가 읽더라도 혹은 시간이 오래 지난 후 읽더라도 이해하기 쉬운 코드가 좋은 코드이다.

✅ 응집도가 높고 단일책임의 원칙이 지켜지는 코드

응집도란 프로그램의 한 요소가 해당 기능을 수행하기 위해 얼마만큼의 연관된 책임과 아이디어가 뭉쳐있는 지를 나타내는 정도이다. 프로그램의 한 요소가 특정 목적을 위해 밀접하게 연관된 기능들이 모여서 구현되어 있고, 지나치게 많은 역할을 가지지 않는 다면 응집도가 높다고 할 수 있다. 응집도가 높을 수록 프로그램의 유지보수성이 높아 진다.

*응집도가 높도 결합도가 낮은 코드가 좋은 코드이다.

✅ 변수, 함수의 이름이 적절하게 지어진 코드

  • 변수의 이름은 검색이 가능한 이름을 사용
  • 함수의 이름은 동사를 사용 : 한 함수는 하나의 기능을 가져야 한다. 이 기능을 동사로 표현하는 것이 좋다.
  • 함수의 인수는 3개 이하로 사용
  • boolean을 인수로 사용하는 것을 지양
  • 변수 선언 시 이해하기 힘든 요약어 사용을 지양

✅ DRY(Don’t Repeat Yourself)

DRY는 반복하지 마라의 원칙이다. 시스템 내에서 특정한 지식과 로직은 한번만 존재해야 한다.

동일한 로직이 여러번 반복되어 사용된다면 로직에 변경이 필요할 경우 해당 로직이 사용된 모든 곳에서 수정작업이 필요하기 때문에 리팩토링이 쉽지 않다.

드라이한 코드를 작성할 경우 재사용성이 높아지고 리팩토링이 용이하다.

*DRY원칙은 단순히 코드의 중복이 아니라 로직, 지식, 의도, 비즈니스 로직 등 광범위하게 적용해야 한다.

✅ KISS(Keep It Simple, Stupid)

KISS는 단순하고 멍청하게 시스템을 유지하는 원칙이다. 대부분의 시스템은 복잡하게 보다는 심플하게 만들었을 때 잘 작동한다. 그러므로 시스템은 단순하게 디자인되어야 한다.

어려운 함수를 사용해 코드의 길이를 줄이는 것에 집중하기 보다는 최대한 간단한 로직으로 구현해야 한다. 함수, 변수 등의 네이밍을 통해서 코드의 이해를 쉽게 하고 함수는 한 가지의 기능만을 가져 가독성을 높여야 한다. 또한 클래스는 한 가지의 책임만을 가지도록 설계해야 한다.

*KISS원칙 또한 단순히 코드에 적용되는 것이 아니라 화면, 기능 나아가 시스템 전체를 심플하게 만들 수 있게 하는것이 목적이다.

✅ YAGNI(You Ain’t Gonna Need It)

YAGNI는 필요없는 기능을 없애야 한다는 원칙이다.

개발을 할 때 필요하지 않은 기능, 사용하지 않는 기능, 지나치게 미래지향적인 기능은 포함하지 말아야 한다.

*YAGNI는 현재의 기능만 잘 수행하는 코드를 작성해야한다는 원칙이 아니라 재사용성이 높고 유지보수가 용이한 코드를 작성하는 원칙이 지켜지면서 불필요한 기능을 없애자는 원칙이다.

profile
콰삭칩을 그리워하는 개발자 입니다.

0개의 댓글