이름을 지정할 때 설명의 중요성
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
로 지정하는 것만으로도 a
및 b
라고 말하는 것보다 훨씬 더 명확합니다.내가 생각하는 올바른 방법
네이밍 코드는 아기의 이름을 짓는 것과는 다릅니다. 아기가 자라면 어떻게 될지 모릅니다! 하지만 코드가 무엇을 해야 하는지 정확히 알고 있습니다(또는 적어도 그렇게 하길 바랍니다!). 당신은 좋은 이름을 쓰기 위한 모든 재료를 가지고 있습니다.
내 2c는 가능한 한 설명하는 것이 가장 좋다는 것입니다. 코드를 설명하십시오.
간결함을 잊으십시오. 정확성에 중점을 둡니다.
꽤 긴 이름으로 끝날 수 있습니다. 그러나 이것은 간결하지만 모호한 이름보다 훨씬 낫습니다.
너무 모호하고 좋은 이름이 생각나지 않는다면 실제로는 코드 냄새를 나타내고 기능이 그다지 좋지 않은 것일 수 있습니다. 너무 좋다면! 리팩토링해야합니다 :)
내가 따르는 단계
이름 지정이 악몽이 아닌 유산으로 남도록 하기 위해 제가 따르는 몇 가지 단계는 다음과 같습니다.
결론
길더라도 설명이 가능한 이름을 쓰세요! 코드는 읽을 수 있어야 한다는 점을 기억하십시오. 그렇지 않은 경우 나쁜 코드이며 명명은 코드를 읽을 수 있는지 여부를 결정하는 데 큰 요소입니다.
Reference
이 문제에 관하여(이름을 지정할 때 설명의 중요성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jwwnz/be-descriptive-when-naming-33m0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)