highlight-numbers 20160717.1228(in MELPA)
Highlight numbers in source code

概要

プログラム内に書かれた、
プログラマ本人にしかわからない数字を
マジックナンバーといいます。

マジックナンバーは
他人または未来の自分がコードを読むときに、
プログラムの理解を困難にさせるものです。

一般に、マジックナンバーは避けるべきです。

なぜなら、複数箇所に
同じ数値が書かれている場合、
その数値を変更する場合は
すべてを変更する必要があるからです。

たとえば、税込価格を計算するために
数式に直接 1.08 と書いたら、
それはマジックナンバーです。

将来消費税率10%になったときに
1.1 に書き換える必要があるからです。

マジックナンバーを阻止するためには、
数値をハイライトするのがいいです。

そこで、 highlight-numbers.el が役立ちます。

マイナーモード M-x highlight-numbers-mode を有効にすると、
数値をハイライトします。

プログラミング言語固有の
数値リテラルにも対応しています。

  • c-mode
  • c++-mode
  • emacs-lisp-mode
  • clojure-mode

以上のメジャーモードと派生モードでは、
言語固有のハイライトを行ないます。

たとえば、lisp-interaction-modeは
emacs-lisp-modeの派生モードですので、
emacs-lisp-modeの数値リテラルをハイライトします。

20170208064250.png
Fig1: before

20170208064255.png
Fig2: after

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてhighlight-numbersを使う方は
以下のコマンドを実行します。

M-x package-install highlight-numbers

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name highlight-numbers

本サイト内の関連パッケージ


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。