외로운 상수
3927 단어 javascripttypescriptprogramming
이러한 상수 중에서 소위 "고독한 상수"를 찾을 수 있습니다.
외로운 메시지
일부 유명한 상수 파일에는 외로운 상수가 있습니다.
const MESSAGE_TITLE = "Welcome to the 'Some Site'"
일부 코드베이스 검색 후 상수가 응용 프로그램의 한 모듈에서만 사용되는 것처럼 보입니다. 그런 다음 모듈 내부가 아닌 공유되는 이유는 무엇입니까? 나는 저자 또는 A) 누군가가 그것을 필요로 할 것이라고 생각했다고 가정합니다. B) 저자는 이 상수를 어디에 둘지 몰랐습니다. 이유가 무엇이든 응용 프로그램의 특정 도메인에 속하는 상수는 노출되지 않고 그대로 유지되어야 합니다. 저는 사람들에게 마법 같은 프로그래밍 패턴이나 원리에 대해 말하는 것을 좋아하지 않기 때문에 이 점에 대해 저를 용서해 주셔야 합니다. 이 상황은 정확히 "You aren't gonna need it" 원칙에 위배됩니다.
외로운 커터
일부 유명한 상수 파일에는 외로운 상수가 있습니다.
const CUTTER = 'cutter'
일부 코드베이스 검색 후 전체 앱에서 상수가 사용되는 것처럼 보입니다. 이전 예에서와 같이 지역적인 것이 아닙니다. 이것은 적절하게 전역으로 만들어졌지만 잠시 후에 이것에 가까운 또 다른 상수가 더 있다는 것을 알 수 있습니다.
const BATTLESHIP = 'battleship'
이제 그것들을 사용하는 코드:
if (ship.kind === BATTLESHIP) {
...
} else if (ship.kind === CUTTER) {
...
} else {
...
}
이제 명확해야 합니다. 우리는 밀접하게 연결된 두 개의 상수를 가지고 있으며, 더욱이 그것들은 하나의 것, 즉 일종의 용기입니다.
enum VESSEL_TYPE {
BATTLESHIP,
CUTTER,
OTHER
}
매우 건조한 숫자
일부 모듈에는 고독한 상수가 있습니다.
const TWO = 2
모듈의 로컬 상수이므로 최소한 노출되지 않습니다. 코드 조사 후 상수인 이유는 반복을 피하기 위함임이 분명했습니다. 개발자는 코드에서 '2'를 거의 보지 못했고 배운 대로 DRY principle 을 따랐고 '2'의 반복 대신 'TWO'의 반복이 있는 코드를 가지고 있었습니다 😅, 이 얼마나 승리...
코드에서 놀라운 'TWO'는 점 뒤의 자릿수로 사용되었습니다. 따라서 동의어로 이름을 지정하는 대신 목적을 정의하는 이름을 사용합니다.
const DECIMAL_PART = 2
너무 외롭지 마 나의 상수
상수를 외롭지 않게 하려면 상수의 명명, 공유 및 그룹화에서 상식을 따라야 합니다. 지역적인 것을 공유하지 않고 고유한 이름을 지정하고 도메인 열거형/객체에서 상수를 수집한다면 코드베이스에서 어떤 상수도 외롭지 않을 것입니다.
Reference
이 문제에 관하여(외로운 상수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/macsikora/the-lonely-constant-7cd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)