UPDATED   2020. 08. 07(금) 16:15
페이지상단으로이동

"당신의 코딩을 발전시킬 14가지 방법"

    • 이진영 기자
    • |
    • 입력 2019-12-30 11:21
    • |
    • 수정 2019-12-30 11:21

오늘날 소프트웨어 개발자들은 좋은 코드를 작성할 재능과 창의력이 필요로 한다. 또한 스스로 훈련을 통해 실력을 갈고닦아야 하는데, 성공적인 개발자가 되기 위해선 항상 현재의 모범 사례를 따르고 공부해야 한다.

포브스는 포브스 기술 위원회 14인이 선정한 지속적으로 더 좋은 코드를 만들기 위한 방법 14가지에 대해 소개했다.

1. 코드가 당신을 대변하도록 해라.
코드 품질을 위해선 코드의 가독성이 가장 중요하다. 오픈 소스 코드를 검토하고 좋고 싫은 부분을 적는 연습을 해라. 다른 사람이 그들의 코드를 어떻게 다뤘으면 좋겠는지 생각하는 것과 같이 자신의 코드를 대하라. 코드는 당신의 생각과 스타일을 다른 사람에게 표현하는 방법이다. 즉, 코드가 좋은 코멘트로 당신을 대변하도록 해라.

2. 동료 코드 리뷰 시스템을 구현해라.
더 좋은 코드를 만드는 데에 가장 쉬운 단계는 '코드 리뷰'이다. 당신의 모든 코드가 동료들에게 리뷰되도록 해라. 이를 통해 즉각적인 결과를 볼 수 있을 것이다. 당신의 코드는 더 나아질 것이고, 전반적인 결과물의 품질은 급격히 상승할 것이다.

3. 동료 개발자들이 이해할 수 있는 코드를 작성해라.
프로젝트를 코드화하고 구축하는 것은 단체 작업이다. 즉, 작성 중인 코드를 다른 개발자가 읽을 수 있도록 해라. 이는 코드를 유지하기 쉽게 만들 뿐만 아니라 미래에 문제가 발생할 경우 다른 사람들이 쉽게 디버깅할 수 있게 만들기 때문에 중요하다. 이는 거의 모든 개발의 경우에 해당된다.

4. 팀 표준에 부합되도록 유지해라.
일을 하는 동안 동일한 지침과 표준을 지켜 다른 사람이 쉽게 따라갈 수 있도록 해라. 다른 사람들이 피드백을 공유할 수 있도록 지속적으로 검토하고, 시간이 지나도 누구나 이해할 수 있도록 철저한 코멘트를 제공해라.

5. 보안을 자동화하라.
보안을 진짜로 자동화하는 방법을 찾아라. 이는 필요한 수동 프로세스를 줄이고 속도를 증가시키는 것을 의미한다. 응답을 요구하고 빌드 하거나 전개하는 동안 기존과 동일한 툴을 사용함으로써 보안이 '자동화'되는 경우가 너무 많다. 이는 어떤 의미 있는 방식으로도 운영 효율을 증가시키지 않는다.

6. 테스트 가능한 코드를 작성해라.
좋은 코드는 원하는 기능을 활성화하는 것과 마찬가지로 테스트 가능성이 중요하다. 개발자는 개발 주기의 일부로서 고장 조건에 대한 테스트를 구축해야 한다. 이는 결국 더 큰 기능의 그룹으로 연결되는 테스트 세트로 이어진다. 동료-리뷰와 함께 결정론적인 기능 적용 범위를 본질적으로 제공하고, 유지 보수를 용이하게 한다.

7. 장기 유지 보수에 대해 생각하라.
단순히 작동하는 코드만 쓰지 말고, 당신뿐만 아니라 따르는 사람이면 누구든 영구히 유지할 수 있는 코드를 써라. KISS(Keep It Simple Stupid)와 DRY(Don't Repeated Yourself)는 인생과 코드 모두에서 따르기 좋은 모토이다.

8. 동료들 사이의 토론을 장려하라.
평평한 계층적 업무 구조가 바람직하다고 생각한다. 왜냐하면 동료와의 리뷰와 토론이 더 나은 코드를 위한 필수적인 요소이기 때문이다. 팀이 오류를 보여주거나 조언 아이디어를 줄 수 있다고 느껴질 때, 그 일이 더 창의적이고, 조율되고, 효율적이게 될 것이다. 기존의 수직적 조직으로는 건강하지 못한 경쟁과 걱정, 의사소통 감소로 인해 이것이 억제될 수 있다.

9. 소스 코드 코멘트를 포함하라.
코드를 작성하는 것은 산문을 쓰는 것과 유사하다. 모든 사람들은 각기 다른 스타일과 독특한 목소리를 가지고 있다. 모두들 자신의 코드가 완전히 이치에 맞는다고 생각한다. 그러나 미래에 코드는 그렇지 않다고 나타날 수 있다. 다른 프로그래머에게 그것은 완전히 이치에 맞지 않는다고 보일 수 있다. 이를 극복하기 위해 하우스키핑은 일관성이 있어야 하고, 프로그래머는 자신의 코드 전체에 걸쳐 소스 코드 코멘트를 포함해야 한다.

10. 기술적 부채를 가능한 최소화 하라.
엔지니어들은 종종 마감일을 맞추기 위해 가능한 한 빨리 코딩하라는 말을 듣는다. 하지만 그것은 당신의 회사에서 언론의 타격을 받은 것과 같은 최악의 타이밍에 엉성한 코드, 빠른 수정 보수 사항들을 만들어낼 수 있다. 시간을 조절해 기술적 부채를 없애는 것은 개발자로서의 책임이다. 이를 통해 명령 사슬을 꼭대기까지 확실하게 해야 한다.

11. SOLID 방법을 따라라.
더 나은 코드를 만드는 간단한 방법은 5가지 SOLID 객체 지향 설계 원칙을 따르는 것이다. Robert C. Martin에 의해 촉진된 이 원칙은 개발자들 사이에서 표준이 되었고, 이것은 더 유연하고, 확장 가능하며, 유지될 수 있는 깨끗한 코드를 만드는 것을 돕는다. SOLID를 적절히 적용하면 코드를 보다 쉽게 읽고, 이해하고, 디버그하고, 변경하고, 리팩터 할 수 있다.

12. 'Pass the Baton'에 적합한 문서 우선순위를 지정하라.
종종 민첩한 방법론을 사용할 때 도큐먼트를 완성하지 않고 코드를 만들거나 마감일을 맞추라는 압박이 있을 때가 있다. 하지만 이는 근시안적이다. 적절한 문서화는 더 많은 협력을 촉진함으로써 미래에 이익을 창출할 수 있다. 프로젝트에 새로 참여한 팀원들은 더 빨리 초기화할 수 있고, 결과적으로 더 빠른 진행을 돕고 개발의 문제를 감소시킨다.

13. 코딩을 시작하기 전에 구상 맵을 만들어라.
가장 좋은 코드는 키보드로 문자를 입력하기 전에 만들어진다. 그것은 잘 고안된 디자인과 무엇을 만들고 싶은지에 대한 구상 맵에서 시작된다. 디자인이 관련 세부 사황과 함께 계획이 완성되었을 때 코드를 작성할 준비가 된 것이다. 이 과정을 고수하는 개발자들은 종종 자신의 조직의 다른 사람들이 쉽게 유지할 수 있는 최고의 코드를 만든다.

14. 기준에 맞춰 타협하지 말아라.
린팅이든, 테스트 적용 범위이든, 명명 규칙이나 복잡성 또는 기타 내부 표준이든 간에 규칙에 대한 예외를 두지 마라. 코드 검토에 의존하지 말고 스스로 책임져라. 대부분의 점검은 자동화되거나 사전에 투입된 후크에 통합되거나 통합 개발 환경에 바로 추가될 수 있다. 규칙 구성에 무시 문구를 추가하고 싶은 충동을 억제해라.

이진영 기자 | [email protected]

댓글 [ 0 ]
댓글 서비스는 로그인 이후 사용가능합니다.
댓글등록
취소
  • 최신순
닫기