그외 개발작/기타

"클린코드" : 경력 1년차가 생각하는 클린코드란?

개발작 2024. 3. 21. 14:31

1.  클린코드 !==  짧은코드

  • 클린코드는 짧은코드인가?라고 묻는다면 짧기만 하면 안된다 라고 생각한다.
  • 그 이유는 짧음에 대한 기준이 개인마다 다르고 짧음에 집중하면 코드 본연의 기능에 대한걸 놓칠수 있다고 생각하기 때문이다

 

2.  클린코드 === 찾고싶은 로직을 빠르게 찾는 코드?

  • 아직 이뜻이 정확히 이해가 되지는 않는다 하지만 이해 하기위해 공부해야하는걸 알고있다

 

3.  경력 1년차인 내가 생각하는 클린코드란

  • 함수명, 변수명만 보고도 이 함수가 어떤기능을 수행하는지에 대한걸 알 수 있어야한다.
  • 스크롤을 내리지 않고도 모든 코드가 한눈에 들어와야하고(그렇다면 짧은코드가 클린코드인가?)
    예를 들어보자하나의 함수에서 하나의 기능만 수행해야한다고한다.
  • 아래의 코드는 하나의 함수가 1가지의 일을 수행하는걸까 아니면 하나의 함수안에 3가지의 일이 수행하는걸까?
  • 내가 내린결론은 아니다 아래의 코드는 value의 값에 따라 다른 모달을 보여주기위함 함수이다 즉, "모달을 어떤형태로 보여줄까?"에 대한 공통적인 일을 수행한다. 
const handleModalChange=async(value)=>{

 if(value ==='취소'){
  setModal(value)
  awit 함수1()

 else if (value ==='진행중'){
   setModal(value)
   awit 함수2()
 } 
 
 else{
   setModal(value)
   awit 함수3()
  }
}
  • 그렇담 하나의 함수안에 여러가지일을 한다는건 무슨코드일까? 아래코드를 살펴보자
  • 유저를 다루는 함수안에 value에 값에 따라 삭제, 수정, 등록의 다른일들을 한다.
  • "user"라는 공통의 기능을 수행한다고 하지만 삭제, 수정, 등록의 너무 다른일들을 수행하는 함수를 하나의 함수 안에 넣진말자!
const HandleUserClick =async(value)=>{

 if(value==='삭제'){
 await 유저삭제함수()
 }
 
 else if(value==='수정'){
  await 유저수정함수()
 }
 
 else {
   awit 유저등록함수()
 }
}