이야기를 나누던 중 public 함수를 위에 작성하고, private 함수를 밑에 작성하자.
라는 말을 들었습니다. 배려를 중하게 생각하는 터라 곧바로 수긍할 수 있었지만, 구글 스타일 가이드까지 적힌 정도면 배려 외적인 이윤이 있기 때문이라 판단했습니다.
처음 생각한 이유는 외부 사용자들이 디버깅 할 때, API를 먼저 확인하게 되기 때문이라 판단했지만, 배려가 곧 효율이라는 제목을 설득시키기 위해 정량 지표를 가져왔습니다.
아래 내용은 코드 품질이 사업에 미치는 영향 영상의 일부를 정리했습니다.
코드 품질이 떨어지면, 잘 정돈된 코드보다 15 배 많은 결함이 발생하고, 2 배 더 긴 개발 시간을 낭비하게 되기 때문에 좋은 코드 품질을 유지할 필요가 있다.
우리가 볼 핵심은 스파게티 코드는 좋은 코드 대비 이해하는데 39.5% 시간이 더 소요된다는 점입니다. 개발자는 시간 중 60%를 이해할동에 사용하기 때문에 스파게티 코드로 인해 전체 개발 시간 23%가 증가하게 됩니다.
즉, 직접 작성한 코드를 이해하기 쉽도록 배려한다면, 개발 시간 단축이라는 긍정적인 결과로 이어집니다. 그래서 우리는 배려를 통해 업무 생산성을 높일 필요가 있습니다.
이해 시간을 줄이기 위해서는 이해할 수 있게 작성 해야하고, 이해할 수 있게 작성하기 위해서는 이해할 수 있는 적정선을 지키며 프로젝트를 구현할 필요가 있습니다.
이해 시간을 줄인다. → 이해하기 쉽게 작성한다. → 규칙을 지켜서 작성한다.
규칙을 정한다면 서로 모여서 의견을 나눌 필요 없이 시간에 얽메이지 않는 구현이 가능합니다. 규칙을 정할 때, 쉽게 이해할 수 있는지, 쉽게 찾을 수 있는지를 고려할 수 있습니다.
효율적인 업무를 위해 내가 상대방을 배려할 수 있는 방법은 깔끔한 문서화, 의미 있는 네이밍, 정돈된 코드 스타일이 있습니다.
문서화를 통해 서로의 시간 할애 없는 효율적인 유지 보수 수단입니다. 문서화는실시간으로 커뮤니케이션을 하기 위한 수단
을 의미합니다. 즉, 이해관계자들에게 작성한 의도를 잘 전달하고, 실시간성을 띄어야 합니다.
개발자의 의도를 드러낸 코드로 문서화에 투자할 시간을 줄일 수 있습니다. UI가 있는 문서화나 주석도 좋지만, 코드 자체로 문서화를 해 가독성을 줄이고 실시간성을 가지는 것도 방법입니다.
코드 스타일 규약을 지켜 효율적으로 업무를 진행할 수 있습니다. 라이브러리와 IDE를 활용해 쉽게 적용할 수 있고, 코드 스타일 유무에서 가독성 차이가 많이 발생하기 때문에 코드를 작성하기 전, 꼭 고려해야 합니다.
원활한 커뮤니케이션이 가능해지면 업무 생산성이 높아지고, 신뢰감을 얻을 수 있어 의견 전달이 쉬워집니다. 그렇기에 효율적인 업무를 위해서는 배려가 필요합니다.
우리는 효율을 위해 관계자가 쉽게 이해할 수 있는 방향으로 프로그래밍을 할 필요가 있습니다.