본문 바로가기
Programming/Javascript

[Code Review, Prgoramming Style] 코드리뷰, 프로그래밍 스타일에 관하여..

by SheenaKaze 2024. 7. 30.

1. 개요 - Code Review(코드 리뷰) 와 프로그래밍 스타일(Progmming Style)

코드 리뷰는 개발자들이 서로의 코드를 보면서 이게 못났니, 저게 못났니 하는 문화이다. 더 나은 코드, 유지보수성이 좋도록 가독성이 좋도록 고쳐나가는 개발 과정의 한 단계이자 문화이다. 코드 리뷰를 통해서 사소한 규칙부터, if문이나 for문을 내가 너무 남발하고 있지는 않은 것인지? , 반복문에 대해 시간 복잡도는 고려한 것인지? , 내가 하고있는 어떠한 프로그래밍 스타일이 어떠한 팀의 룰을 깨고있는 것이 아닌지 메타인지, 자기객관화가 항상 부족한 자신을 위해 도움이 되는를 알 수 있는 그러한 문화이다. 하여 이러한 문화가 있는 회사의 구성원들이나 팀원들은 자신의 의견을 제시하고, 수용하고, 부족했던 점을 인정하는 과정에서 코드나 로직들이 더 좋게 정렬이 되고 만들어지게 된다. 또한 이는 개인의 성장으로 이어진다. 하여 이토록 수준 높고 까다로운  it 업계, 개발자 커뮤니티에서는 항상 자신이 틀린 것은 아닌지 본인 스스로를 의심하는 자세가 필요하다. 이러한 토론이나 컨퍼런스, 계속적이고 지속적인 공부, 공부를 하기 위한 공부가 이어진다. 

Application이 올바르게 동작하는 것은 당연한 전제이므로.. 

컴터는 거짓말하지 않습니다.

내가 찾아본 몇가지 코드 리뷰나 10명 중 8명 9명이 공통적으로 얘기하는 몇 가지를 정리하여, 포스팅하고자 한다.

2. 개발자들이 10명 중 7명 8명 등이 신입 시절 지적받은 사항들

2-1. 너무 많고 깊은 Code Depth

 

 

 

2-2. IF문 중독 부제 : 연속된 IF문 

if (true) {
 if(true) {

 }
 if(true) {
   
 }
 if(true) {
    if(true) {
   
    }
 }
 if(true) {
    if(true) {
   
    }
 }
 if(true) {
    if(true) {
   
    }

 }
 if(true) {
   
 }

}

배열이나  if문이 너무 많아질 경우 swtich 문을 활용하게 되면 if문 없이 바로 처리할 수 있는 구간이 꽤 있다.

 

3. 미친듯한 들여쓰기 (Code Depth의 증가를 초래)

??

4. 1함수 1기능 - 단일책임 원칙/규칙(Single Responsibility Priciple)

하나의 클래스는 하나의 기능을 담당하며, 하나의 책임을 수행하는 집중되도록 해야한다.. 정보처리기사 공부 중에나 뭐 여튼 항상 자주 듣던 말이네요.. 개발쪽에서는 중요하죠,, 

 

5. 팀의 룰 / 회사 룰을 지키지 않는 변수 선언 / 함수 이름.. 

회사를 몇 군데 다녀본 결과 회사마다 혹은 프로젝트마다 변수 선언/ 함수 이름을 선언하는데 룰이 있습니다. 변수/ 함수 명을 짓는 것도 프로그래밍 언어마다 조금씩 틀리고, 프로젝트마다 변수 선언, 함수 선언 위치가 다달라요이를 최대한 뭔가 프로젝트 투입 전이나, 입사하자마자 기회가 된다며 해당 프로젝트를 빠르게 파악하면서, 훑어보면서 어떤 규칙을 지키고 있고, 어떤 식으로 로직은 짜여져있고, 어떤 식으로 프로세스가 진행되고 있으며, 어떤 부서에 누가 이를 맡고있고, 어느정도 모르는 것은 물어가면서, 밑그림을 본인의 머릿 속에 그리는 과정이 굉장히 중요합니다. 모르면 또 물어봐야죠.. 한번에 다 하는 사람이 어딨나요.. 너그러이.. 살자구요.. 요새 다들 화가 많은 시대에 살고계시잖아요.. 어떤 형태가 되었든 프로그램 코드에서 변수명/ 함수명의 중요성을 몇번이나 강조해도 너무나도 중요하다고 생각됩니다.