-
코딩 규칙 정하기 하루 전JAVA 2024. 12. 18. 00:50
- 코딩 규칙 정하기에 앞서 코딩 규칙이 필요한 이유을 작성해본다.
코딩을 잘한다는 것은?
- 개발이라는 행위는 대부분 특정 조직에서 이윤을 만드는 것이 목적이다. (세상의 문제를 해결한다고는 하지만, 대부분이 돈이 되는 문제를 해결한다)
- 회사 입장에서 개발의 목표는 짧은 리드타임, 큰 경제적 가치 창출이 전부다. (https://yeoon.tistory.com/178)
- 경영자 입장에서 개발 관련해 해야할 일은 너무 쉽다. 분기별 인건비만 잘 관리하면 된다.
- 개발에서 이윤 아웃풋을 만들기 위한 투입 리소스는 100% "인간"이다.(서버비, 운영비 제외)
- 경영자 입장에서 개발을 잘하는 사람은 기간, 예산에 맞춰 적시에 업무를 완수하는 사람이다.
- 회사 입장에서 코딩을 잘하는 개발자는 요구사항을 짧은 기간 내에 완수하는 사람이다.
코딩을 잘하기 위해서는?
- 짧은 기간 안에 개발하려면 어떤 것이 필요할까?
- 개발범위, 인력, 시간 여러가지 있겠지만, 이번 글에서 이야기하고 싶은 것은 코드의 생산성 관리이다.
- 위 그래프 처럼 코드의 생산성은 시간이 갈 수록 저하된다.
코드 생산성은 왜 저하 될까?
- 코딩의 행위는 읽기와 쓰기로 되어 있다.
- 오래된 프로젝트는 절대적으로 읽어야할 코드의 양이 많다. (= 레거시)
- 위의 읽기 쓰기 60/40의 비율은 실무에서 빈번하게 95/5가 되기도 한다.
왜 코드 읽는 시간이 오래걸리는 걸까?
- 뇌가 처리할 수 있는 정보는 한계가 있는데, 소프트웨어의 복잡도는 뇌의 처리 용량을 아득히 초과하기 때문이다.
코드 생산성을 유지하는 방법
- 코드의 생산성을 유지하기 위해, 뇌의 부하를 줄이기 위해 리팩터링이라는 행위로 코드의 가독성을 높인다.
- 도대체 리팩터링에서 어떤 행위를 해야 코드의 가독성이 늘어나는 걸까?
- 광범위한 주제이기에 각설하고 리팩터링 중 하나인 코딩 규칙, 코딩 스타일을 이야기하고 싶다.
코드 규칙, 스타일 가이드
- 지속 가능한 (생산성 높은) 코드를 만들기 위해서는 일관된 코딩 규칙이 필요하다.
- 코드의 format은 가독성에 큰 영향을 주는데, 맨 처음 잡으면 유지보수가 불가능하다.
- 한 대학 연구에서는 30년된 프로젝트 코드 78개의 코드를 분석했는데, 30년 전에 작성한 코드 방식을 현재까지 계속 사용하고 있다는 결과가 나왔다.
- 구글에서는 이를 위해 코드 스타일 규칙을 만들어서 적용한다. (구글의 java 규칙 https://google.github.io/styleguide/javaguide.html)
결론
일관된 코드 스타일을 가진 프로젝트는 가독성이 좋고, 생산성에서 경쟁력을 가진다.
Java나 Kotlin 같은 언어에도 기본적으로 권장하는 코딩 규칙이 있다.
- 자바 공식 코딩 컨벤션 : https://www.oracle.com/java/technologies/javase/codeconventions-contents.html
- 코틀린 공식 코딩 컨벤션 : https://kotlinlang.org/docs/coding-conventions.html#class-layout
팀 코드 스타일을 정해서 다같이 따르자
- 인텔리제이 Google Style 적용하기 - https://yeoon.tistory.com/116
- 코드 스타일이 중요한 이유? https://yozm.wishket.com/magazine/detail/2499/
- Java 포멧팅 자동화 - https://yeoon.tistory.com/151
반응형'JAVA' 카테고리의 다른 글
[java] CompletableFuture 문법 (4) 2024.01.31