zero-wiki Help

관리

코드 정리 구분

  • 코드 정리는 별도의 PR로 구분하고, PR당 몇 개의 코드 정리만 포함하도록 합니다.

  • 작은 PR은 검토 시간을 단축시켜 환영받으며, 작은 PR을 더 많이 만드는 것이 좋습니다.

  • PR의 초점이 분명할수록 더 빠른 검토를 장려합니다.

  • 만약 코드 양이 많아지면 PR 검토가 느려지기 때문에 작은 단위로 작업하는 것이 중요합니다.

  • 작은 단위로 작업하고 절대적으로 안전하게 작업하는 데 익숙해지면, 코드 정리 PR을 따로 검토하지 않는 시도를 할 수 있습니다.

연쇄적인 정리

  • 보호 구문을 도입하면 조건을 설명하는 도우미나 설명하는 변수를 추출하는 데 도움이 됩니다.

  • 안 쓰는 코드를 제거하고 나면, 코드를 읽는 순서에 맞춰 정렬하고 응집도를 높일 수 있습니다.

  • 대칭으로 맞추기를 통해 비슷한 코드를 묶어 읽기 쉽게 만듭니다.

  • 읽는 순서를 정리하여 코드 간의 연관성을 명확히 합니다.

  • 응집도를 높이는 배치로 관련 코드들을 함께 배치해 유지보수를 용이하게 합니다.

  • 설명하는 변수는 불필요한 주석을 제거하는 데 도움을 줍니다.

  • 설명하는 상수를 도입하면 코드의 명확성을 높이고, 나중에 수정하기 쉽게 만듭니다.

  • 명시적인 매개변수를 사용하여 코드 가독성을 향상시킵니다.

  • 비슷한 코드끼리 묶어 코드를 쉽게 읽을 수 있도록 합니다.

  • 도우미 추출을 통해 중복된 코드를 모듈화하여 관리합니다.

코드 정리의 일괄 처리량

  • 코드 정리의 범위를 줄이고 PR의 개수를 늘려 검토 비용을 줄이세요.

  • 팀에 신뢰와 강력한 문화가 있다면 코드 정리 후 굳이 검토할 필요는 없습니다.

  • 코드 정리가 소프트웨어 안정성을 해치지 않으면 상호작용의 위험이 줄어듭니다.

리듬

  • 코드 정리는 1시간을 넘지 않도록 합니다.

  • 짧은 시간 내에 코드 정리를 끝내야 동작 변경에 필요한 최소한의 구조 변경을 놓치지 않을 수 있습니다.

  • 대부분의 코드 정리 작업은 이미 정리된 코드 안에서 이루어지게 됩니다.

얽힘 풀기

  • 동작 변경 중 코드가 얽혀 있는 경우 세 가지 선택이 있습니다:

    1. 그대로 배포를 진행한다.

    2. 코드 정리와 변경 사항을 별도의 PR로 분리한다.

    3. 작업을 버리고, 코드 정리를 먼저 한다.

  • 얽힘을 푸는 것은 코드 정리의 핵심이며, 풀어야 할 필요성을 일찍 인지할수록 작업량이 적어집니다.

코드 정리 시점

  • 코드 정리를 먼저 할지, 동작 변경을 먼저 할지는 상황에 따라 결정합니다.

나중에 정리하기

  • 코드를 정리한다고 해서 일이 더 쉬워지지 않는다면 정리하지 마세요.

  • 코드를 정리하면 더 빨리 이해할 수 있겠다고 판단되면, 먼저 정리하세요.

요약

다음 상황에서 코드 정리하지 마세요

  • 앞으로 다시는 코드를 변경하지 않을 때.

  • 설계를 개선해도 배울 것이 없을 때.

다음 상황에서는 나중으로 정리를 미루세요

  • 정리할 코드가 많고 즉각적인 보상이 보이지 않을 때.

  • 코드 정리에 대한 보상이 잠재적일 때.

  • 작은 묶음으로 여러 번 나눠서 정리할 수 있을 때.

다음 상황에서는 동작 변경 후에 정리하세요

  • 다음 코드 정리까지 기다릴수록 비용이 커질 때.

  • 코드를 정리하지 않으면 일을 끝냈다는 느낌이 들지 않을 때.

다음 상황에서는 코드 정리 후에 동작 변경을 하세요

  • 코드 정리가 끝나면 코드 이해가 쉬워지고, 동작 변경이 쉬워질 때.

  • 어떻게 정리해야 할지 알고 있을 때.

Last modified: 11 September 2024