본문 바로가기

카테고리 없음

개발자가 피해야 할 나쁜 코드 작성

반응형

 초보 개발자들이나 개발을 배우는 학생들은 코드를 작성할 때 일단 동작이 되는 걸 중요시 여깁니다. 이후 복잡해진 코드를 나중에 수정하고, 나중에 더 잘 다듬어야겠다고 생각하며 나쁜 코드들을 방치하게 됩니다. 그러나 처음 학습할 때부터 좋은 코드를 작성하는 습관을 들여두지 않는다면 나쁜 코드들을 계속 작성하게 되고, 추후 협업을 하거나 오픈소스 프로젝트를 진행할 때, 그리고 자신이 작성한 코드를 수정할 때데도 어려움을 겪게 될 것입니다.

 

가독성

 협업이 많은 개발자의 특성상 코드의 가독성을 높이는 것은 매우 중요합니다. 가독성이 좋지 않은 코드의 경우 다양한 문제점들이 발생하는 데 우선 불필요한 요소가 많은 코드는 협업하는 팀원들과 본인의 집중력을 흐트러트립니다. 읽기 어려운 코드는 본인도, 타인도 이해하는 데 오랜 시간을 사용하게 하여 효율성을 떨어뜨립니다. 가독성이 낮은 코드에서는 반복되는 부분이 많을 때 오류나 버그가 발생할 확률이 높아지고, 함수나 클래스를 적절히 사용하지 않은 코드는 메모리의 낭비를 초래할 수 있습니다. 또한 간결한 논리로 구현되어 있지 않는 코드는 이후 유지 보수에 큰 어려움을 끼칩니다.

 

나쁜 코드

 첫 번째 나쁜 코드로는 '너무 긴 코드'가 있습니다. 일반적으로 글을 쓰고 읽을 때에도 한 문장이 너무 길다면 글쓴이가 말하고자 하는 의도를 찾기에 어려움을 겪을 수 있는 것처럼, 하나의 함수나 클래스에 너무 많은 기능이 들어있는 너무 긴 코드 또한 기능에 혼란을 줄 수 있습니다. 이러한 혼란을 방지하기 위해서 일반적으로 하나의 함수나 클래스는 하나의 기능을 수행하도록 구현하는 것이 바람직합니다.

 다음으로는 if, elif, else와 같은 '분기문이 너무 많은 경우'와, if문 안에 '여러 개의 if, else문이 중첩되어 있는 경우'입니다. 이러한 경우에서는 하나하나 그 과정을 눈으로 확인하기에 어려움이 생기고, 앞서 이야기한 것처럼 가독성이 떨어지는 코드가 됩니다. 또한 '중복이 많은 코드'는 메모리 부족과 버그를 발생시킬 수 있는 위험성이 높습니다. 이러한 코드를 수정하기 위해서는 많은 시간과 노력이 필요하기에 클래스와 함수를 잘 활용하여 중복을 최소화해주어야 좋은 코드를 작성할 수 있습니다.

 변수나 함수 이름을 지정할 때에는 다른 사람이 볼 때 어떤 기능을 하는 함수이며, 어떤 값을 담는 변수인지 한 번에 확인할 수 있도록 작명하는 것이 중요합니다. 언어별 명명법을 적용한다면 협업을 진행하거나, 긴 시간이 지난 이후 본인이 작성한 코드를 확인하였을 때 빠르게 각 변수와 함수의 의미를 알 수 있어서 도움이 되기에 명명법을 숙지하면 좋지만, 반드시 명명법을 지키지 않더라도 의도가 분명한 명칭을 정해주는 것이 뛰어난 가독성을 갖춘 코드를 작성하는 방법이 됩니다.

 마지막으로는 '종속성이 높은 코드'는 하나의 모듈에 문제가 발생하면 그와 연관된 모든 모듈이 정상적으로 작동할 수 없기에 종속성, 의존성이 높은 코드를 작성하는 것보다, 각각의 함수나 기능이 독립적으로 기능할 수 있도록 코드를 작성하는 것이 좋습니다.

반응형