Update from 1.32 to 1.32.2.3
Submitted by:Motomichi Matsuzaki <mzaki@e-mail.ne.jp>
This commit is contained in:
parent
1f3af47b2e
commit
35dbca2bb4
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=8157
1 changed files with 52 additions and 15 deletions
|
@ -59,7 +59,7 @@
|
||||||
<sys/types.h> は <sys/cdefs.h> をインクルードしており、
|
<sys/types.h> は <sys/cdefs.h> をインクルードしており、
|
||||||
依存関係は問題ありません。
|
依存関係は問題ありません。
|
||||||
.Bd -literal -offset 0i
|
.Bd -literal -offset 0i
|
||||||
#include <sys/types.h> /* < > 括弧による非ローカルインクルード */
|
#include <sys/types.h> /* 角括弧による非ローカルインクルード */
|
||||||
.Ed
|
.Ed
|
||||||
.Pp
|
.Pp
|
||||||
ネットワークプログラムである場合は、
|
ネットワークプログラムである場合は、
|
||||||
|
@ -89,12 +89,28 @@
|
||||||
#include "pathnames.h" /* " " によるローカルインクルード */
|
#include "pathnames.h" /* " " によるローカルインクルード */
|
||||||
.Ed
|
.Ed
|
||||||
.Pp
|
.Pp
|
||||||
マクロは大文字であり、( ) 括弧に入れて、副作用を避けるべきです。
|
アプリケーションインタフェースを実装している場合を除き、
|
||||||
|
実装の名前空間で #define したり名前を定義したりしてはいけません。
|
||||||
|
.Pp
|
||||||
|
.Dq Li 安全でない
|
||||||
|
マクロ (副作用を持っているもの) の名前と、
|
||||||
|
明らかな定数のマクロの名前はすべて大文字です。
|
||||||
|
式のように展開されるマクロは、単一のトークンにするか外側に括弧をつけます。
|
||||||
.Ql #define
|
.Ql #define
|
||||||
とマクロ名の間にタブ文字を 1 個入れます。
|
とマクロ名の間にタブ文字を 1 個入れます。
|
||||||
それがある関数のインライン展開である場合は、
|
マクロがある関数のインライン展開である場合は、
|
||||||
関数は全て小文字で定義され、マクロは大文字で同じ名前を持ちます。
|
関数名は全て小文字で、マクロはすべて大文字の同じ名前を持ちます。
|
||||||
マクロが 1 行以上必要な場合は、{ } 括弧を使用します。
|
.\" XXX 上記は名前が同じマクロを #undef すれば関数を使える
|
||||||
|
.\" という ANSI のスタイルと衝突します。
|
||||||
|
.\" これは MALLOC() については言えないし、インライン関数を使う時の
|
||||||
|
.\" 一般的なやりかたではありません。
|
||||||
|
マクロが 1 行以上必要な場合は、ブレース
|
||||||
|
.Po
|
||||||
|
.Sq \&{
|
||||||
|
と
|
||||||
|
.Sq \&}
|
||||||
|
.Pc
|
||||||
|
を使用します。
|
||||||
バックスラッシュは右揃えします。こうすると読みやすくなります。
|
バックスラッシュは右揃えします。こうすると読みやすくなります。
|
||||||
マクロが複合文をカプセル化する場合には、それを
|
マクロが複合文をカプセル化する場合には、それを
|
||||||
.Dq Li do
|
.Dq Li do
|
||||||
|
@ -275,7 +291,7 @@ switch ʸ
|
||||||
.Ed
|
.Ed
|
||||||
.Pp
|
.Pp
|
||||||
予約語 (if, while, for, return, switch) の後にスペースを入れます。
|
予約語 (if, while, for, return, switch) の後にスペースを入れます。
|
||||||
何も伴わないかただ 1 つの文を伴う制御文は、{ } 括弧を使用しません。
|
何も伴わないかただ 1 つの文を伴う制御文は、ブレースを使用しません。
|
||||||
1 つの文が 複数行である文の場合には、これは許されます。
|
1 つの文が 複数行である文の場合には、これは許されます。
|
||||||
無限ループは while ではなく for で行ないます。
|
無限ループは while ではなく for で行ないます。
|
||||||
.Bd -literal -offset 0i
|
.Bd -literal -offset 0i
|
||||||
|
@ -318,8 +334,8 @@ for
|
||||||
また、インデントを形成するためには、タブとその後にスペースのみを使用します。
|
また、インデントを形成するためには、タブとその後にスペースのみを使用します。
|
||||||
タブが生み出す以上のスペースや、タブの前のスペースは使用しません。
|
タブが生み出す以上のスペースや、タブの前のスペースは使用しません。
|
||||||
.Pp
|
.Pp
|
||||||
{ } 括弧の終了と開始は else と同じ行に置かれます。
|
ブレースの終了と開始は else と同じ行に置かれます。
|
||||||
必要でない { } 括弧は省いても構いません。
|
必要でないブレースは省いても構いません。
|
||||||
.Bd -literal -offset 0i
|
.Bd -literal -offset 0i
|
||||||
if (test)
|
if (test)
|
||||||
stmt;
|
stmt;
|
||||||
|
@ -346,8 +362,8 @@ for
|
||||||
.Ed
|
.Ed
|
||||||
.Pp
|
.Pp
|
||||||
単項演算子はスペースを要求しませんが、二項演算子は要求します。
|
単項演算子はスペースを要求しませんが、二項演算子は要求します。
|
||||||
優先順位が要求する場合または文が ( ) 括弧なしでは混乱する場合以外は、
|
優先順位が要求する場合または文が括弧なしでは混乱する場合以外は、
|
||||||
( ) 括弧は使用しません。
|
括弧は使用しません。
|
||||||
他人はあなたよりも混乱しやすいかもしれないということを覚えておいてください。
|
他人はあなたよりも混乱しやすいかもしれないということを覚えておいてください。
|
||||||
あなたは以下を理解できますか?
|
あなたは以下を理解できますか?
|
||||||
.Bd -literal -offset 0i
|
.Bd -literal -offset 0i
|
||||||
|
@ -488,15 +504,36 @@ fputs/puts/putchar
|
||||||
これは速くて大抵はきれいで、言うまでもなくつまらないバグを避けます。
|
これは速くて大抵はきれいで、言うまでもなくつまらないバグを避けます。
|
||||||
.Pp
|
.Pp
|
||||||
使用法 (usage) の文はマニュアルページの書式の様であるべきです。
|
使用法 (usage) の文はマニュアルページの書式の様であるべきです。
|
||||||
|
使用法の文は、次の構造であるべきです:
|
||||||
|
.Pp
|
||||||
|
.Bl -enum -compat
|
||||||
|
.It
|
||||||
オペランドの無いオプションが、最初にアルファベット順に、
|
オペランドの無いオプションが、最初にアルファベット順に、
|
||||||
1 つの[ ] 括弧でくくられます。
|
1 組の大括弧
|
||||||
オペランドのあるオプションが、アルファベット順に続き、
|
.Po
|
||||||
それぞれを [ ] 括弧でくくられます。
|
.Sq \&[
|
||||||
必須の引数が特定の順に続き、オプションの引数が特定の順に続きます。
|
と
|
||||||
|
.Sq \&]
|
||||||
|
.Pc
|
||||||
|
でくくられます。
|
||||||
|
.It
|
||||||
|
オプションとそのオペランドがこれもアルファベット順に続き、
|
||||||
|
それぞれのオプションとその引数を 1 組の大括弧でくくります。
|
||||||
|
.It
|
||||||
|
必須の引数
|
||||||
|
.Pq もしあれば
|
||||||
|
が続き、
|
||||||
|
コマンドラインで指定されるべき順で一覧されます。
|
||||||
|
.It
|
||||||
|
最後に、
|
||||||
|
すべての任意の引数が指定されるべき順で、
|
||||||
|
すべて大括弧の中に一覧されます。
|
||||||
|
.El
|
||||||
|
.Pp
|
||||||
縦棒
|
縦棒
|
||||||
.Pq Sq \&|
|
.Pq Sq \&|
|
||||||
は、二者択一のオプションまたは引数を分割し、
|
は、二者択一のオプションまたは引数を分割し、
|
||||||
同時に使用するオプションと引数は、単一の [ ] 括弧でくくります。
|
同時に使用するオプションと引数は、単一の大括弧でくくります。
|
||||||
.Pp
|
.Pp
|
||||||
.Bd -ragged -offset 0.3i
|
.Bd -ragged -offset 0.3i
|
||||||
"usage: f [-aDde] [-b b_arg] [-m m_arg] req1 req2 [opt1 [opt2]]\en"
|
"usage: f [-aDde] [-b b_arg] [-m m_arg] req1 req2 [opt1 [opt2]]\en"
|
||||||
|
|
Loading…
Reference in a new issue