[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

A. ヒントと慣習

本章では, Emacs Lispの機能についてさらに述べることはしません. かわりに, 前章までに述べてきた機能を効率よく使うための助言や Emacs Lispプログラマが従うべき慣習について述べます.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

A.1 Emacs Lispのコーディングの慣習

ここでは, 読者が広く使われることを意図した Emacs Lispコードを書く場合に従うべき慣習について述べます.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

A.2 コンパイル済みコードを速くするヒント

バイトコンパイルしたLispプログラムの実行速度を改良する方法を示します.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

A.3 説明文字列に関するヒント

説明文字列を書くうえでのヒントや慣習を述べます. コマンドM-x checkdoc-minor-modeを実行して, これらの慣習の多くを確認できます.


[ < ] [ > ]   [ << ] [] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

A.4 コメントの書き方のヒント

コメントを置く場所とそれらの字下げ方法については以下のような慣習を推奨します.

;

1つのセミコロン‘;’で始まるコメントは, ソースコードの右側で同じコラム位置に揃えること. そのようなコメントは, その行のコードの動作を説明する. lispモードやその関連するモードでは, コマンドM-;indent-for-comment)で 自動的に右側の正しい位置に‘;’を挿入したり, そのようなコメントが既存ならば整列できる.

つぎとその下の例は, Emacsのソースから持ってきたものである.

 
(setq base-version-list                 ; there was a base
      (assoc (substring fn 0 start-vn)  ; version to which
             file-version-assoc-list))  ; this looks like
                                        ; a subversion
;;

2つのセミコロン‘;;’で始まるコメントは, その部分のコードの字下げに揃えること. そのようなコメントは, その後続の行の目的や その箇所でのプログラムの状態を記述する.

 
(prog1 (setq auto-fill-function
             …
             …
  ;; update mode line
  (force-mode-line-update)))

説明文字列を持たない各関数 (所属するパッケージで内部向けにのみ使用される関数)では, 関数が行うことと正しい呼び出し方を記述した 2つのセミコロンで始まるコメントを関数のまえに書くこと. 各引数の意味とその可能な値を関数がどのように解釈するかを正確に説明すること.

;;;

3つのセミコロン‘;;;’で始まるコメントは, 左端に揃えること. そのようなコメントは, 関数定義の外側で使い, プログラムの設計原理を説明する一般的な表明である. たとえばつぎのとおり.

 
;;; This Lisp code is run in Emacs
;;; when it is to operate as a server
;;; for other processes.

3つのセミコロンで始まるコメントの別の使い方は, 関数内の行をコメントにする場合である. そのような行が左端に留まるように3つのセミコロンを使うのである.

 
(defun foo (a)
;;; This is no longer necessary.
;;;  (force-mode-line-update)
  (message "Finished with %s" a))
;;;;

4つのセミコロン‘;;;;’で始まるコメントは, 左端に揃えて, プログラムの主要な部分のヘッダに使う. たとえばつぎのとおり.

 
;;;; The kill ring

M-;indent-for-comment)や <TAB>(lisp-indent-line)などの Emacsのlispモードの字下げコマンドは, これらの慣習にしたがって自動的にコメントを字下げします. See (emacs-ja)Comments section ‘コメントの操作’ in GNU Emacs マニュアル.



[ << ] [ >> ]           [冒頭] [目次] [見出し] [ ? ]

この文書は新堂 安孝によって2009年9月22日texi2html 1.82を用いて生成されました。