WEB 지식 이것 저것

[IT] 좋은 코드란 무엇일까? Feat.클린코딩의 중요성

somuxsomu 2024. 2. 6. 11:51

좋은 코드란 무엇일까? Feat.클린코딩의 중요성

 

개발자에게 좋은 코드란 과연 무엇일까 ?

 

개발자에게 좋은 코드가 무엇인지 알아보기 전에, 

프로그래밍에서 말하는 추상화는 무슨 의미를 가지고있을까?


프로그래밍 추상화(Abstraction)란?

 

프로그래밍에서 '추상화(Abstraction)' 는 매우 중요하다.

그리고, 개발자간의 원활한 소통방식을 위해 필요하다.

 

추상이란? 여러가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용을 뜻한다.

 

구체적인 정보 → 꼭 필요한 핵심 

 

즉, 복잡한것들을 목적에 맞게 단순화하는 것이라고 말할 수 있다. 

 

 

1️⃣ 목적을 명확하게

2️⃣불필요한 것들은 숨기기

3️⃣핵심만 드러내기

 

 

 


 

좋은코드 란?

 

 

그러면 좋은 코드란 무엇일까?

 

주니어 개발자로서 개발자에게 좋은 코드가 무엇인지,
코드를 짤 때 어떻게 짜는게 더 좋을지 잘 모르고 있었다,
한마디로 방향성이 없었다. 
무지성으로 일단 돌아가면 된다라는 방식으로 짰던것 같다.
하지만, 아래의 세가지 조건만 부합한다면 좋은 코드라고 생각한다.
처음부터 완벽하게 좋은 코드를 만들 수는 없겠지만,
3가지 철칙을 지키면 그래도 좋은 코드가 나오지 않을까 싶다.

 

 

1️⃣ 남이 보아도 읽기 쉬운 코드

2️⃣ 중복이 없는 코드 (불필요한 코드)

3️⃣ 테스트가 용이한 코드

 

 

 

내 눈에만 읽기 쉬운 코드가 아니라,

남이 읽어도 이해하기 쉬운 코드가 좋은 코드라고 할 수 있다.

영원히 내가 이 코드를 관리할거라면 상관 없겠지만,

나의 코드가 남이 관리를 해야할 때가 오기 때문이다.

즉 유지보수를 하기위해서는 이해하기 쉬운 코드가 좋다.

너무 간결해도 좋지않고, 너무 복잡해도 좋지 않다. 그래서 어렵다.

 


 

 

▼ 좋은코드 관련하여 시청해보면 좋은 영상

 

https://youtu.be/jafa3cqoAVM

 

https://blog.jbee.io/etc/%EC%A2%8B%EC%9D%80+%EC%BD%94%EB%93%9C%EB%9E%80+%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C%3F

 

좋은 코드란 무엇일까? - jbee.io

./images/good_code_thumbnail.png '성선설'에 기반하면 모든 개발자는 좋은 코드를 작성하고 싶으리라 생각한다. 누구나 관심 있어 하는 주제인 만큼 나 또한 여러 고민을 거듭해왔고 여태까지의 생각을

blog.jbee.io

 


 

좋은 코드가 무엇인지에 대해 알아보았으니,

클린코딩에 대해서 알아보자.

 

클린코딩의 중요성과 원칙

 

클린 코딩과 코드 리팩토링에 대해서 관심이 많은 요즘,

요즘IT에 올라온 글 중 '클린코딩의 중요성' 을 읽게 되었고,

간략하게 정리해서 블로그에 올려두려고 한다.

 

중요성을 잊지 않으려고 ^^....

 

 

맨 아래에 본문 URL도 있으니

자세한 내용은 거기 가서 한번 읽어보아도 좋을 것 같습니다 !

 


 

클린 코드(Clean Code)는 

소프트웨어 개발에서 사용되는 개념으로, 

읽기 쉽고 이해하기 쉬운 코드를 작성하는 것을 강조한다.

 

클린 코드는 프로그램의 동작을 보장하는 것뿐만 아니라, 

코드 자체가 가독성이 뛰어나고, 

유지 보수가 쉽도록 작성되어야 한다는 원칙에 기반한다.

 

간결하고 명확한 클린 코드는 버그를 찾기 쉽게 만들어 준다 !

반면 복잡하고 난해한 코드는 오류가 발생하기 쉽고, 발견한 후에도 수정이 어려울 수 있다. 

 

또한, 클린코드는 가독성이 높고 유지 보수가 용이한 코드이기 때문에

 개발 속도를 향상시킨다. 

 

그리고, 코드를 이해하고 수정하는 데 걸리는 시간이 줄기 때문에 

새로운 기능을 빠르게 구현하고 배포할 수 있다.

 

 


 

 

클린코드의 주요 원칙에 대해 알아보자.

원칙에 맞춰서 개발을 한다면 

당신도 바로 클린코드를 지양하는 개발자

👍🏼

 

 

📌 클린 코드의 주요 원칙


1) 의미 있는 변수와 함수 사용하기

변수와 함수는 그 사용 문맥에 맞게 명확하게 명명되어야 하며, 

이를 통해 코드의 이해가 쉬워지고 버그 발생 가능성이 줄어든다.



2) 가독성 좋은 코드 만들기

코드는 다른 사람이나 나중에 자신이 읽기 쉽게 작성되어야 하며, 

의미 있는 변수명, 함수명, 클래스명 등을 사용하여 

코드의 의도를 명확하게 전달해야 한다.

 

 

3) 주석을 필요할 때만 잘 활용하기

코드의 의도나 중요한 부분에 주석을 추가하여

다른 개발자가 코드를 이해하는 데 도움을 준다.

 

그러나 주석이 필요한 경우에 

주석을 추가하는 것보다는 코드 자체로 의도를 명확히 드러내는 것이 좋다.

 

 

4) 간결한 코드 유지하기

불필요한 코드는 피하고, 간결한 코드를 유지해야 한다. 

간결한 코드는 버그를 줄이고 유지 보수를 용이하게 만든다.

 

 

5) 모듈화 수행하기

코드를 작은 모듈로 나누어 각 모듈이 특정 기능이나 역할을 수행하도록 해야 한다. 

이는 코드의 재사용성을 높이고 유지 보수를 쉽게 만든다.

 

 

6) 테스트 가능한 코드 만들기

클린 코드는 테스트가 쉽게 가능한 구조여야 한다. 

테스트 케이스를 작성하고 유지 보수할 때 테스트가 도움이 되도록 코드를 작성하는 것이 중요하다. 

테스트 가능성을 고려한 코드는 

주로 모듈화, 의존성 주입, 인터페이스 활용 등을 통해 적용할 수 있다.

 


 

아래 링크에 더 많은 규칙이 나와있으니, 참고하면 좋을것 같다.

로버트 C. 마틴의 책의 클린 코드(Clean Code) 책도 읽어보길 추천한다!

 

나도 아직 안읽었지만.. 

 

 

▼ 클린 코딩 - 더 많은 규칙

 

https://gist.github.com/wojteklu/73c6914cc446146b8b533c0988cf8d29

 

Summary of 'Clean code' by Robert C. Martin

Summary of 'Clean code' by Robert C. Martin. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

 

 

▼ 원본 글 요즘 IT

 

https://yozm.wishket.com/magazine/detail/2415/?utm_source=stibee&utm_medium=email&utm_campaign=newsletter_yozm&utm_content=contents

 

클린 코드는 왜 중요하고 어떻게 실천해야 할까? | 요즘IT

클린 코드(Clean Code)는 소프트웨어 개발에서 사용되는 개념으로, 읽기 쉽고 이해하기 쉬운 코드를 작성하는 것을 강조합니다. 클린 코드는 프로그램의 동작을 보장하는 것뿐만 아니라, 코드 자체

yozm.wishket.com