이름을 지정할 때 설명의 중요성

2909 단어 webdevprogramming

There are only two hard things in Computer Science: cache invalidation and naming things.
Phil Karlton



핵심요약: 너무 많이 생각하지 말고 코드 이름을 지정할 때 가능한 한 설명적이어야 합니다.

사물의 이름을 짓는 것은 어렵다. 예를 들어. 아내가 딸을 임신했을 때 우리는 그녀의 이름을 짓기 전에 몇 달 동안 그녀의 이름에 대해 고민했지만 여전히 우리가 제대로 선택했는지 확신할 수 없습니다. 그녀가 자랄 때 그녀의 이름이 마음에 들지 않는다면?

코드 이름 지정은 거의 어려워 보일 수 있습니다. 우리는 '이 코드에 정당성을 부여하는 완벽한 이름이 있어야 한다'고 생각합니다. 우리는 그것이 영리하고 기억에 남을 수 있어야 한다고 생각합니다. 간결하고 빠릅니다.

몇 가지 일반적인 함정


  • 너무 영리하게 하려고 하면 이름이 모호해질 수 있습니다.

  • const exoticOptimiser = () => {}
    


  • 또는 영리한 참고 자료를 사용해 볼 수도 있습니다.

  • const iWantToBeTheVeryBest = () => {}
    


  • 우리는 속기도 많이 봅니다. 일부는 이벤트 핸들러와 같이 허용됩니다.

  • (e) => {} // e for 'event'
    


  • 일부는 그냥 순수한 게으름

  • const myLazyFunction = (a, b) => {}
    


    그러나 잘못된 명명은 제쳐두고 모든 농담은 끔찍한 결과를 초래합니다. 나는 우리 모두가 그랬을 것이라고 확신하는 짧은 경력에서 끔찍한 이름을 본 적이 있습니다. 잘못된 이름의 코드로 디버깅하고 작업하는 것은 피할 수 있는 악몽입니다.

    좋은 네이밍의 중요성



    미래의 어느 시점에서 특정 방식으로 함수 이름을 지정한 이유를 설명하지 못할 가능성이 매우 높습니다.

    아직 거기에 있더라도 기능이나 일부 코드가 특정 방식으로 프로그래밍된 이유를 잊어버릴 수 있습니다.

    이름이 잘못 공식화되면 개발자를 토끼 구멍으로 이끌 가능성이 큽니다.

    예를 들어, 이 기능을 본다면 어떤 생각이 들까요?

    const calcAB = (a,b) => {}
    


    무엇을 계산? 계산도 되나요? 이 함수는 a와 b로 무엇을 합니까?

    물론 코드를 읽을 수 있지만 코드의 길이가 200줄이라면 어떻게 될까요? 함수의 목적과 기능을 명확하게 식별할 기회를 이미 낭비했습니다.

    대신 다음을 보았다고 상상해 보십시오.

    const calculateTheDistanceBetweenPoints = (pointA, pointB) => 
    


    물론 훨씬 더 길지만 읽기 쉽고 명확하며 설명적입니다. 매개변수의 이름을 pointA로 지정하는 것만으로도 ab라고 말하는 것보다 훨씬 더 명확합니다.

    내가 생각하는 올바른 방법



    네이밍 코드는 아기의 이름을 짓는 것과는 다릅니다. 아기가 자라면 어떻게 될지 모릅니다! 하지만 코드가 무엇을 해야 하는지 정확히 알고 있습니다(또는 적어도 그렇게 하길 바랍니다!). 당신은 좋은 이름을 쓰기 위한 모든 재료를 가지고 있습니다.

    내 2c는 가능한 한 설명하는 것이 가장 좋다는 것입니다. 코드를 설명하십시오.
  • 변수인 경우 정확히 그대로 호출하십시오.
  • 변수인 경우 수행할 작업을 설명합니다.

  • 간결함을 잊으십시오. 정확성에 중점을 둡니다.

    꽤 긴 이름으로 끝날 수 있습니다. 그러나 이것은 간결하지만 모호한 이름보다 훨씬 낫습니다.

    너무 모호하고 좋은 이름이 생각나지 않는다면 실제로는 코드 냄새를 나타내고 기능이 그다지 좋지 않은 것일 수 있습니다. 너무 좋다면! 리팩토링해야합니다 :)

    내가 따르는 단계



    이름 지정이 악몽이 아닌 유산으로 남도록 하기 위해 제가 따르는 몇 가지 단계는 다음과 같습니다.
  • 코드가 수행하는 작업에 대해 설명하십시오.
  • 이름을 검토하고 여러 방식으로 해석할 수 없는지 확인하십시오.
  • 특히 복잡한 함수의 경우 코드 리뷰에서 이름에 대한 피드백을 특별히 요청합니다.

  • 결론



    길더라도 설명이 가능한 이름을 쓰세요! 코드는 읽을 수 있어야 한다는 점을 기억하십시오. 그렇지 않은 경우 나쁜 코드이며 명명은 코드를 읽을 수 있는지 여부를 결정하는 데 큰 요소입니다.

    좋은 웹페이지 즐겨찾기