AI가 대체할 직업 중 하나로 개발자가 이야기되지만 아직까지는(!) 개발은 사람이 하는 것이기에 거기에는 권장되는 규칙들이 있습니다. 또한 개인과 조직에 오랜동안 만들어진 습관들도 있고요. ITWorld에 ‘매력적이지만 버려야 할 10가지 나쁜 프로그래밍 습관’이라는 기사가 있는데 ITWorld 한글 기사가 그렇듯이 번역이 매끄럽지는 않아 이해가 잘되지 않는 부분들도 있지만 간단한 제 의견과 함께 소개합니다.
- 주석 없는 코딩 : 많은 개발자들이 공감하는 부분입니다. 주석을 달아라. 다만, 기사에서도 이야기하는 것처럼 주석이 효과를 발휘하기 위해서는 꾸준히 관리되어야 한다라는 문제가 있기는 합니다. 저의 경우 장황한 주석보다는 최소한으로 코드의 목적이나 의도를 간단히 적는 것을 더 선호합니다.
- 느린 코드 : 느린 코드는 당연히 수정되어야 하지만 빠르지만 다른 개발자들이 이해하기 힘든 코드보다는 좀 느리지만 명확한 코드가 더 낫다라는 생각입니다.
- 장황한 코드 : 위 느린 코드와 비슷한 주제인데 상황에 따라 장단점이 되는 부분일 것입니다.
- 오래된 코드 : 제목과 내용이 달라 잘 이해되지 않는 항목입니다.
- 나만의 코드 롤링 : 일반적으로 사용되는 라이브러리를 사용하지 않고 자신만의 코드를 사용하는 것을 의미합니다. 권장사항이 스톡 라이브러리를 사용해야한다라기보다는 자신만의 코드가 아닌 개발팀에서 합의한 라이브러리를 사용해야한다일 것입니다.
- 너무 이른 최적화 : 이건 말그대로 케바케일 것입니다. 프로젝트의 어느 시점에서 최적화를 진행할 것이냐는 개발자 또는 개발 리더의 판단이 중요한 요소이겠죠.
- 부주의 : 코드를 다양한 상황을 고려해 작성하지 않는 것을 말하는데 이것도 개발자 개인 역량의 영역일 것입니다. 개발을 진행하면서 여러 요소들을 고려해야하겠지만 그것을 어디까지 해야하냐는 개발자의 역량과 경험이 좌우하는 것이라는 생각입니다.
- 불일치 : 코드간의 전체적인 통일성의 필요에 대한 것입니다. 한계는 있겠지만 같은 플랫폼에서 실행되는 프로젝트에는 통일성이 있어야한다라는 것을 원칙으로 해야한다고 생각합니다.
- 종소리와 휘파람을 따라가기 : 제목이 무엇을 이야기하는지 잘모르겠습니다.
- 규칙 깨기 : 규칙도 상황에 따라서는 바꿀 필요가 있습니다. 다만, 그것은 합의가 전제되어야 합니다.