일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- svn
- 모바텀
- 디비버
- Redis
- Eclipse
- Linux
- mybatis
- IntelliJ
- 상태코드
- 이클립스
- SQL
- 톰캣
- 인텔리제이
- Tomcat
- 자바문법
- 마이바티스
- Javascript
- git
- JSON
- HTTP
- 오라클
- 자바
- java
- JQuery
- 보안
- Server
- oracle
- 자바스크립트
- DBeaver
- db
- Today
- Total
JongTachi의 개발 블로그
Clean Code 5가지 꿀팁 본문
개발자라면 무조건 알아야 하는 Clean Code
실무에서 혼자 개발을 하는 사람은 거의 없겠죠? 대부분 협업을 통해 개발을 합니다.
실무에서는 협업을 하기 때문에 Clean Code가 중요한데요. 바로 설명해드리겠습니다.
Clean Code란 설명이 필요없는 코드를 말합니다. 즉 코드를 읽기만 해도 이 코드가 무슨 일을 하는지, 어떤 것을 의미하는지 물어볼 필요 없이 이해되는 코드이죠. 다르게 말하면 어떤 함수명이 더 좋은지, 함수에서 인수를 총 몇 개 사용하면 좋을지 구성하는 겁니다.
꿀팁 몇가지를 소개해드리겠습니다.
1. 의미있는 변수, 함수의 이름을 적절하게 사용하세요.
코드를 작성하다 보면 변수나 함수의 이름을 아무렇지 않게 추가할 때가 있는데 매우 좋지 않은 습관입니다.
예를 들어 어떤 함수를 실행하는 코드가 있다고 해봅시다.
setInterval(eatPotato, 50000);
이것만 보면 무슨 말인지 잘 모르겠죠? 왜냐하면 다른 사람이 봤을 떈 50000?? 저게 뭔데?? 라고 생각하실 수 있어요.
그렇기 때문에 밑에 해당하는 것처럼 변수의 의미를 이름으로 정의해주는 게 좋습니다.
const SECONDS_IN_A_DAY = 50000;
setInterval(eatPotato, SECONDS_IN_A_DAY);
2. 함수 이름은 가급적으로 동사로 지어라.
함수 이름을 동사로 만들면 해당 함수가 어떤 기능을 하는 함수인지 유추할 수 있기 때문입니다.
// 잘못 된 방법
function userData(){
---생략---
}
// 좋은 방법
// 사용자 데이터를 불러오는 함수 인 걸 이름을 통해 유추 가능
function loadUserData(){
---생략---
}
3. 매개변수는 너무 많이 쓰지 마세요.
함수에서 값을 전달하려면 매개변수를 선언해야합니다. 하지만 매개변수가 지나치게 많이 필요하다면 그 함수는 굉장히 복잡해질 겁니다.(매개변수는 3개 이하 추천)
// 안 좋은 방법
// 매개변수가 너무 많다..
function makePayment(price, productId, size, quantity, userId){
---생략---
}
makePayment(10000, SD1010, "2XL", 1, "drakedk")
// 좋은 방법
function makePayment(price, productId, size, quantity, userId){
---생략---
}
// 함수 역할을 파악하기 쉽고, 매개변수가 몇 개 필요한지 파악하기 좋음
makePayment({
price: 10000,
productId: SD1010,
size: "2XL",
quantity: 1,
userId: "drakedk",
})
4.축약어를 쓰지마라.
코드를 작성할 때는 나 혼자만 알아 볼 수 있을 만한 축약어를 쓰면 안 됩니다. "누가 이걸 보겠어?"라는 생각으로 축약어를 쓰신다면 정말 좋지 않은 습관입니다. user를 u로 email을 e로 쓰는 경우가 바로 축약어를 사용하는 경우인데, 귀찮더라도 이름을 다 써주는 것이 좋습니다.
지금까지 Clean Code를 알아보았습니다. 코딩을 하기 전에 알아두고 사용하세요~
감사합니다.
'IT Information' 카테고리의 다른 글
[IT Info] 인터페이스란? (0) | 2023.07.04 |
---|---|
[IT Info] 인증서비스 SSO(Single Sign-on)와 SLO(Single Log-Out)의 차이점 (0) | 2023.06.29 |
[IT Info] 버전을 표기하는 방법? (0) | 2023.06.18 |
[IT info] Hash Function(해시 함수) (0) | 2023.06.12 |
[IT info]객체지향 프로그래밍이란? (0) | 2022.12.16 |