본문 바로가기

SW

좋은 코드란 무엇일까?

오늘은 좋은 코드에 대해서 한번 작성을 해볼까 한다. 이번 블로그는 내 개인적인 이야기도 많이 들어가 있고

실제 개발자들이 중요하게 생각하는 내용도 있습니다. 어떠한 것이 좋은 코드를 만들 수 있는 가에 대해서 이야

기를 해보겠습니다. 

먼저 내가 생각하는 좋은 코드는?

혹시 이 책 다들 아시나요?

바로 이 책의 제목처럼 다른 사람이 읽기 좋고, 쉬운 코드가 좋은 코드라고 저는 생각을 합니다.

 

여러분은 어떤가요?

뭐 사람마다 다 개인적인 차이가 있을 것 같습니다. 그럼 조금 더 자세하게 이야기를 해보겠습니다.

좋은 네이밍 짓기

가장 먼저 중요하는 것은 어떠한 변수, 함수, 폴더 이름 등등 .. 좋은 네이밍을 짓는 것이 가장 중요합니다!!

 

저는 처음에 언어를 C언어를 접하게 되었는데 기본적인 변수 선언을 a, b, c .. 이런 식으로 선언을 했습니다.

그때는 몰랐지만 지금 오니까 왜 그렇게 작성을 했을까 그런 생각이 듭니다. 이러한 이름은 해당하는 것이

어떠한 역할을 하는지 알 수가 없어서 가독성을 떨어트립니다. 그럼 이러한 이름은 어떻게 지을까요??

 

바로 누구나 알아먹기 쉬운 이름을 짓는 것이 가장 중요합니다.

 

어? 그러면 이름을 짧게 하는 것이 좋을까요? 아니면 명확하게 하는것이 좋을까요?

더보기

이것도 솔직히 취향 차이이지만 많은 개발자는 짧은 것 보다는 명확한 뜻을 나타내는 이름을 선호한다.

기본적으로 코딩을 할 때 공통으로 약속한 것이 있습니다. 바로 함수명은 동사로 짓는다.

함수는 어떠한 무언가를 실행시키고 동작을 하잖아요?? 영어도 동작은 동사!! 그러니 동사를 사용합니다.

예를 들어서 (setName, getName, createNotice) 이런 식으로 말이죠.

 

하지만 boolean 같은 경우에는 인지~ 아닌지~ true와 false를 반환하기 때문에 is~~라는 형태를 사용합니다.

 

 

 

[DEV] KISS, DRY, YAGNI - 소프트웨어 개발 3대 원칙

1. DRY DRY는 Don’t Repeat Yourself의 줄임말로 같은 기능이 반복되는 코드를 작성하지 말라는 뜻입니다. 2. YAGNI YAGNI는 YouAin't Gonna Need It 의 줄임말로 불필요하게 확장을 고려한 개발을 하지 말라는 이

takd.tistory.com

 

이해하기 쉬운 폴더 구조를 만들자

이 주제 또한 정말 정말 중요합니다. 제가 프로젝트를 하면서 여기 파일이 여기 있나? 저기 있나?

정말 많이 왔다 갔다 거렸거든요.. 처음으로 프로젝트를 할 때는 폴더 구조가 너무나 어렵게 되어서

찾는데만 시간이 정말 많이 소모가 됐습니다. 그러기에 실무에서도 매우 중요합니다. 

 

이러한 폴더 구조는 2가지로 나뉜다는 것을 중요하게 생각하면 됩니다..!!

1. 기술적인 용도로 사용하는 폴더

2. 도메인에 따른 권한 폴더

 

기본적으로 우리가 공통적으로 사용하는 폴더인 스타일이나 상태 관리, config 등을 관리하는 폴더와

말 그대로 도메인에 따라 관리하는 폴더가 따로 분리가 되어 있고 그 안에 세부적으로 자세하고 이해하기

쉬운 폴더의 구조로 나타내야 하는 것이 중요합니다.

 

주석은 명확하고 간결하게 작성한다

주석은 개발자가 다른 개발자에게 말을 하지 않아도 보고 바로 이러한 기능을 하는 것이다.라는 것을

알려주는 메시지와 같은 역할을 하는데요. 이러한 주석도 명확하고 간결하게 작성을 해야 한다는 것입니다.

 

많이 개발자가 선호하는 주석을 다는 방법 중에 중요한 것을 몇 개 소개해드리겠습니다.

1. 주석은 간결하게 작성해라 ➡️ 한 줄로 작성할 수 있는 것을 여러 줄로 만들지 말자.
2. 코드의 의도를 명시하라 ➡️ 이 코드가 어떠한 것을 의미하는지 명확하게 작성해라.
3. 정보 축약형 단어를 사용하라 ➡️ 계속 적다 보면 적었던 내용을 또 적을 수 있는데 그러면 대표적인 키워드나 요약을 하자.
4. 함수의 동작을 명확하게 설명해라 ➡️ 기능을 설명하는 것도 좋지만 함수가 어떻게 돌아가는지 내부를 설명하자.

이 외에도 엄청 많고 많지만 대표적으로 중요하고 제가 개인적으로 생각하는 1번을 중요하게 생각합니다. 🔥


또 추가적으로 테스트 코드를 작성하는 것도 정말 중요한 방법 중에 하나입니다. 

과거에 작성했던 테스트 코드에 중요성인데 한 번 들어가서 보는 것도 추천드리겠습니다.

 

Test Code를 사용해야 할까?

Test Code 테스트 코드는 무엇일까? 테스트 코드는 소프트웨어의 기능과 동작을 테스트하는데 사용되는 코드이다. 소프트웨어의 결함을 찾고 수정하는 과정이 매우 중요하다. 또 테스트 코드는 개

ltr2006.tistory.com

 

이 외에도 당연하게 생각하는 간결하고 짧은 코드로 작성하는 것도 아시죠?? 예를 들어서 필요 없는 구문 삭제, 또는

같은 역할은 하나로 합치기 등등 .. 이런 식으로 코드를 간결하고 짧게 하는 것도 중요합니다.

const sum = num1 + num2;
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
let sum = 0;
sum = sum + num1;
sum = sum + num2;

 

 

느낀 점

처음에는 몰랐지만 지금 생각하면 좋은 코드를 작성하는 것은 정말 정말 중요하다. 다른 사람이 알기 쉽고 간결하고

명확하며 짧게 작성하는 것 .. 정말 너무 어렵다. 하지만 실무를 가면 내 코드를 중점이 아니라 팀 안에서 코드를 공유하고

사용하기 때문에 이러한 좋은 코드를 만드는 것이 중요할 것 같다. 더 앞으로 좋은 코드와 나쁜 코드를 알아봐야겠다.