トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

アドオン/定数 のバックアップ(No.1)


変数の対義語で、常に変わらない値のこと。 広義では固定値という解釈もできるが、固定値 = ベタ書き(リテラル)と認識する技術者も少なくないため、こう呼んだほうが無難。

なお、リテラルでなく定数化する意味は、

  1. 視認性が向上する
  2. 分岐などの箇所を一括検索することができ、影響範囲の絞り込みが容易
  3. 値さえ書き換えてしまえば、ロジックを直接変更しなくとも修正ができる といったところ。

以下に、誤った、そしてよく使われる書き方を紹介する。

  • 定数にすればいいってもんじゃない!
    • 誤:C_X TYPE C LENGTH 1 VALUE 'X'.
    • 正:C_FLAG_ON TYPE C LENGTH 1 VALUE 'X'.
  • 意味的な正体が分からなかったら意味が無い!?〜プログラムで対象とする品目タイプの例
    • 誤:C_Z001 TYPE C LENGTH 4 VALUE 'Z001'.
    • 正:C_TRG_MTART TYPE MARA-MTART VALUE 'Z001'.
  • 意味的な正体が分からなかったら意味が無い!?〜IF文などで判断基準とする受注伝票タイプの例
    • 誤:C_AUART_ZOR1 TYPE VBAK-AUART VALUE 'ZOR1'.
    • 正:C_AUART_STOCK_SALES TYPE VBAK-AUART VALUE 'ZOR1'.

また、上記の話に関連して、定数に限った話ではないがネーミングには気をつけたいもの。 特に、iTAB_Aのような書いた自分すら分からなくなりそうなものを書くことは論外で、心当たりのある人は、頭でも丸めて頂きたい。 また、命名ルールに抵触するようなあまりに長いネーミングはセンスが無さ過ぎるものの、名称を省略するのもやめるべきであり、四半世紀前の変数名称に制限があるような世界であれば別だが、昨今の環境では実用外レベルの制約は存在しない。 むしろ、自分ルールで変な略し方をした結果、メンテする人間に伝わらなかったり誤認を招いたりし得るリスクやデメリットの方が勝るため、略する意味が無いどころか、ありのまま表記しない理由が無い。

また、インデックスをIDXとしたりカウンタをCNTにするくらいなら苦笑レベルで済むが、区分をKBNと表記するような輩も多く存在するので、コードの標準化という意味でも「略さない」は有用であると考える。



コメントはありません。 Comments/アドオン/定数

お名前: