클린코드란?

유영·2025년 3월 28일
0

Web

목록 보기
9/9

클린코드란?
단순하여 읽기 쉽고, 각 역할마다 주어진 하나의 일만 담당하며, 코드 자체가 가독성이 뛰어나고 유지 보수가 쉽도록 작성되어야 한다는 원칙에 기반한다. 또한 복잡하거나 모호하지 않은 코드를 의미한다.

어떠한 항목들을 주의해 가며 코드를 짜야 Clean Code를 생각할 수 있을까?
Clean Code를 검색해보면 Clean code를 위한 여러가지 작성방법 및 주의점들을 볼 수 있다. 함수나 클래스의 작명, URL의 작성법, 캡슐화, 단일책임의원칙, DRY, 함수의 인수개수 등 명확하게 "딱 이렇게만 하면된다."라고 적혀있지 않고 각자의 생각이나 착안점 등이 추가된 경우가 굉장히 많다. 어떠한 포스팅에서는 클린코드를 위한 설계적인 원칙으로 OOP의 SOLID원칙을 내세우는 경우도 있다.

  • 네이밍
    ✨여러가지 네이밍 규칙들을 클래스, 함수, 변수, DB, 컬럼 등에 맞게 Camel, Pacal, kebab, snake를 따져서 작성하자.
    ✨함수명은 동사, URL은 복수명사, 변수는 들어가는 인자의 개수에 따라서 단,복수명사를 정확하게 적자.

  • 주석
    ✨왠만하면 주석이 필요없이 이해할 수 있도록 작성하고, 정말 필요할 경우에만 주석을 추가해 세부설명을 하자.
    ✨주석을 명확하고 간결하게 작성하고, 주석을 통해 코드의 복잡성을 가리키는 대신 코드 구조를 개선하도록하자.

  • 함수의 인수
    ✨ 함수에 전달되는 인수는 적을수록 좋다. 많아도 3개 까지만 작성하고 3개는 넘어간다면 하나의 객체로 묶어서 전달할 수 있도록 하자.

  • 함수의 길이
    ✨함수의 길이 또한 작을수록 좋다. 함수의 이름을 구분짓기 위해서 길게 쓰다보면, 함수자체를 이해하기 어려워 질 수 있고, 오탈자 등의 문제로 인한 오류가 발생할 수 있다.

  • 중복제거
    ✨중복 코드는 버그와 유지보수의 어려움의 원인이 될 수 있다. DRY원칙과 같이 Don't Repeat Yourself 반복하지 말고 시스템 내 로직은 단 한곳에서 명확하고 신뢰할 수 있도록 작성하자.

  • 조건문의 간소화
    ✨if조건의 뎁스를 줄이자. 조건의 조건의 조건이 생긴다면, 분명 줄일 수 있는 구석이 있을 것이다. 조건문의 뎁스는 많아질 수록 가독성을 해칠 수 있다.

  • 작은 함수
    ✨단일책임의 원칙과 같이 함수는 작고 명료하게 하나의 동작만 할 수 있도록 해야한다. 함수는 한가지 작업만을 수행하며, 그 작업을 잘 추상화하여 의도가 분명한 이름을 부여하자.

  • 단순하게 작성하자.
    ✨KISS(Keep It Simple, Stupid)와 같이 단순하게 작성해야 한다. 만약 가독성을 위해서 어렵고 복잡한 기술을 사용해서 10줄로 작성했다고 하자. 이 코드를 이해하고 읽는데 걸리는 시간은 해당코드를 풀어서 30줄에 작성한 코드보다 오래걸릴 것이다.

  • 필요없는 기능은 만들지말자.(YAGNI)
    ✨"나중에 필요할 것 같다."와 같은 지금은 필요없는 기능을 미래지향적으로 만들어 둠에 따라서, 코드의 가도성을 헤치고 복잡성만 들어나며, 괜한 개발비용이 발생할 수 있다. 지금 필요하고 사용하지 않는 기능에 대해서는 굳이 지금 만들어두지 말자. You Ain't Gonna Need It

출처 :
https://velog.io/@kwontae1313/%ED%81%B4%EB%A6%B0%EC%BD%94%EB%93%9C%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
https://yozm.wishket.com/magazine/detail/2415/

0개의 댓글