テキストをCONSTANT_CASE(スクリーミングスネークケース)に変換する

定数、環境変数、enum値を定義するためにテキストをCONSTANT_CASE(SCREAMING_SNAKE_CASE)に変換する方法を学びます。プログラミング言語全体での慣例を解説します。

Special Cases

詳細な説明

テキストをCONSTANT_CASEに変換する

CONSTANT_CASE(SCREAMING_SNAKE_CASEまたはUPPER_SNAKE_CASEとも呼ばれる)はすべての文字を大文字にし、アンダースコアで単語を区切ります。プログラミング言語全体で定数と設定値の普遍的に認識される慣例です。

基本的な変換

入力:  max retry count
出力:  MAX_RETRY_COUNT

入力:  backgroundColor
出力:  BACKGROUND_COLOR

入力:  api-base-url
出力:  API_BASE_URL

CONSTANT_CASEが使用される場所

定数

// JavaScript / TypeScript
const MAX_RETRIES = 3;
const DEFAULT_TIMEOUT_MS = 5000;
const PI = 3.14159265359;
# Python
MAX_RETRIES = 3
DATABASE_URL = "postgresql://localhost/mydb"

環境変数

export DATABASE_URL="postgresql://localhost:5432/mydb"
export NODE_ENV="production"
export AWS_ACCESS_KEY_ID="AKIA..."
export NEXT_PUBLIC_API_URL="https://api.example.com"

環境変数はすべてのオペレーティングシステムとコンテナプラットフォームでCONSTANT_CASEで書かれます。

Enum値

enum HttpStatus {
  OK = 200,
  NOT_FOUND = 404,
  INTERNAL_SERVER_ERROR = 500,
}

CONSTANT_CASE vs. snake_case

CONSTANT_CASE: MAX_RETRY_COUNT
snake_case:    max_retry_count

同じ構造、異なるケーシング。CONSTANT_CASEは「この値は再代入すべきではない」ことを示します。

エッジケース

  • 単一単語: "timeout""TIMEOUT"
  • 既にCONSTANT_CASE: そのまま通過します。
  • 数字: "http2MaxStreams""HTTP_2_MAX_STREAMS" または "HTTP2_MAX_STREAMS"
  • 先頭/末尾の区切り文字: 変換前にトリム。

ユースケース

CONSTANT_CASEはほぼすべてのプログラミング言語で定数、環境変数、enum値を定義するための普遍的な慣例です。.envファイルの生成、設定定数の定義、enum型の作成、CI/CDパイプライン変数の設定に不可欠です。コードリファクタリング中にマジックバリューを名前付き定数に昇格させる際に、他のケースからCONSTANT_CASEへの変換が一般的です。

試してみる — Text Case Converter

フルツールを開く