Linus Torvaldsが許せないコメントスタイルとは? 140
争いの種 部門より
Linus Torvalds氏がLinuxカーネルのネットワークスタックで使われているコメントスタイルについて、「脳が損傷したバカみたいなコメントスタイルだ」として修正を求めている(メーリングリストでのコメント、Register)。
Torvalds氏はバランスのとれた対称的なコメントスタイルに統一すべきだと考えているようで、以下の(a)~(c)をよいコメントスタイルだとしている。また、Linuxカーネルのスタイルではないとしつつ、許容可能なコメントスタイルとして(d)を挙げている。
(a)
/* This is a comment */(b)
/*
* This is also a comment, but it can now be cleanly
* split over multiple lines
*/(c)
// This can be a single line. Or many. Your choice.(d)
/* This is an alternate multi-line format
that isn't horrible, but not kernel style */一方、バランスのとれていない最悪なコメントスタイルとしているのは以下の2つ。
(no)
/* This is disgusting drug-induced
* crap, and should die
*/(no-no-no)
/* This is also very nasty
* and visually unbalanced */さらに、コメントのボックス化を好む人の話を始めるつもりはないとしつつ、ボックス化したコメントはLSDでラリっていれば本当に素晴らしいものだと思えるだろうが、アステリスクの右端が揃っていることを気にする以上に良いことはないと述べている。
LSDで…の部分の訳 (スコア:2, すばらしい洞察)
の訳はこんな感じじゃないかな。
『アステリスクの右端が揃っていることを気にする以上に良いことはない』だと、
直前の内容に反して、ボックス化を推奨する意味になってしまっているような。
Re:LSDで…の部分の訳 (スコア:1)
つ【皮肉表現】
プログラムコードの中にコメントを書くのをやめてはどうか (スコア:2)
ハイパーテキストもあるのだし。
ハイパーテキストでプログラムコードを書くなら、
パラダイム・シフトが起こると思うんだけどなあ。
印刷は出来ないだろうけど。あ、そのソースを印刷か。
彼のバランス感覚は? (スコア:1)
* こともあるよ。
*/
一方
/* (d) これは
許せない。 */
もっと許せないコメントスタイルはある (スコア:0)
必要なコメントをまるで書かずソースだけ書くスタイルと、
ソースが更新されたのに、コメントの内容が古いままのスタイルだ
それに比べりゃアスタリスクの位置などなんだというのか
Re: (スコア:0)
それ、コメントの内容やメンテナンス体制がおかしいんであって話題とされている記述スタイルとは何の関係もないでは?
Re: (スコア:0)
内容(に対するスタイル)がおかしいのに比べれば体裁(というスタイル)なんて、ということでは?
Re: (スコア:0)
体裁について話しているのに、内容を持ち出すなよ、ってことでは?
「あれに比べりゃまだまし」なんて言い始めると話ができないよね。
Re: (スコア:0)
文末に読点(。)が無い日本語のスタイルについても考慮して下さい。
Re: (スコア:0)
俺は文末にピリオドを打たない英文等のスタイルも許せない。
Re:もっと許せないコメントスタイルはある (スコア:1)
俺は日本語文で句点をピリオドにするスタイルも許せない。理系では良く見るし、文系ですらたまにあるけど、あれ何なん?
Re:もっと許せないコメントスタイルはある (スコア:1)
情報処理学会で使われている書式です [ipsj.or.jp]。大学や高専で情報系の研究室に入ると指導を受けると思います。他の学会ではどうなっているかは専門の方が見解を述べてくれるでしょう。
国立国会図書館で調査した結果もあります [ndl.go.jp]
Re:もっと許せないコメントスタイルはある (スコア:3, すばらしい洞察)
句読点は“.”および“,”を用い、それぞれ1画(1字分)を用いる。
書式の定義文書が「, .」ではなく、「、 。」で記述されているのが許せない。
Re: (スコア:0)
統一されていればOK。
Re: (スコア:0)
「。」は句点やろが。
「、」が読点。
Re: (スコア:0)
(#3045777)
しまったー。今まで素で間違えてた。
スタイルの問題でなく。中身の問題だったか。
Re: (スコア:0)
もっと許せないのは
//iに1を足す
i++;
Re: (スコア:0)
この手のは書いてる本人がよほどの暇人でないかぎりすぐに治るよ。
コメント書かない奴を矯正するのとは比較にならないほど楽。
Re: (スコア:0)
この手のは書いてる本人がよほどの暇人でないかぎりすぐに治るよ。
コメントをそもそも書かなくなる人もいる。
Re: (スコア:0)
//削除 start 2016.07.12
//iに1を足す
//削除 end 2016.07.12
i++;
Re:もっと許せないコメントスタイルはある (スコア:1)
>//削除 start 2016.07.12
>//iに1を足す
>//削除 end 2016.07.12
これ、バージョン管理してるのにこれを書かないと気が済まない人って
マジでラリっちゃってるとしか思えないんだけど。誰が得するのこのコメント
ソースが読みにくいったりゃありゃしない
Re: (スコア:0)
そんなのまだまし
本当に許せないのはこういうの
//iに1を足す
i += 2;
Re:もっと許せないコメントスタイルはある (スコア:3)
HIRATA Yasuyuki
Re:もっと許せないコメントスタイルはある (スコア:2)
今メンテしてるシステム(15年前に作られて数度の改修の後、10年間
放置熟成してたVB6.0クライアントアプリ)に、いたる所で謎の処理があって主に「DBの値を取得してるけど、取得した値を何も使わないで関数を抜ける」やつ
コメントには「●●の値を取得」って書いてあるけど、だから何がしたいの!って頭かかえてる
(DBにトリガーがあるとかそんな高度な仕様ではない)
コメントに書くべきは処理内容より目的にしなさいって声を大にして言いたい!
# やさぐれAC
Re:もっと許せないコメントスタイルはある (スコア:1)
i=i++;
#何だっけ?ソフト名が思い出せない…
Re:もっと許せないコメントスタイルはある (スコア:1)
指摘コメ [srad.jp]の通りなんですが、「i=i++;」は、「n=n++;」の誤りでした。ここで変数名を間違えるとはツメが甘い…。
で、ちょっとだけ昔話というかネタ解説しときます。
昔、UNIXなマルチ環境向けには「ソフトウェアはソースコードで公開し、各自コンパイルして利用する」の当たり前だったころ、
確か fj にて、knk と名乗る自称スーパーハッカーが nxt というすごい便利なプログラムを作ったよって公開したんですが
Cで書かれたそのコード中には「n=n++;」という記述が散見されたため、フルボッコにされる、という出来事があったんです。
周りからそれは未定義だとどれだけ指摘されても、これが正しいんだと knk 氏は頑なに間違いを認めなかったので、面白い人物ネタとして広まりました。
スラドでも、時々 [srad.jp] ネタに [srad.jp] されてます [srad.jp]。
#といいつつ、私自身細かい内容をすっかり忘れてて間違えて「i=i++;」ってコメントしてしまったわけですが…
#「knk」「nxt」のキーワードを思い出せてない状況からは、どれだけググっても正解にたどり着くことができませんでした…
Re: (スコア:0)
コメントも更新されいるけど、解読が必要な暗号文かよってスタイル
Re:もっと許せないコメントスタイルはある (スコア:2)
HIRATA Yasuyuki
Re:もっと許せないコメントスタイルはある (スコア:1)
# FORTRAN66というよりJIS 7000なおじさん
C++スタイルの 1行コメント ( // ) を許容するか (スコア:0)
C99から規格上もOKになったんだしいい加減良いでしょ?と思うかも知れないですが、
日本語で書いていて文字コードがShift_JISだったりすると、うっかりダメ文字が
コメント行の行末に来てしまい、行の併合で次の行までコメント扱いになって
しまうことが。
Re:C++スタイルの 1行コメント ( // ) を許容するか (スコア:2)
ソース内に日本語を書くことを禁止する。が正しい行為かな。
メッセージはLANG_*に合わせた外だしにするのは基本だし。
Re:C++スタイルの 1行コメント ( // ) を許容するか (スコア:1)
そして溢れるローマ字、SVOCすら無視したヘンテコな英語もどき、そしてsperru misu
Re:C++スタイルの 1行コメント ( // ) を許容するか (スコア:1)
Shift_JIS なんか使うなよ、21世紀も15年も経っているのに。
Re:C++スタイルの 1行コメント ( // ) を許容するか (スコア:2)
使うなと言っても使っちゃう人のためにこういう二重三重の防止策は必要不可欠。
Re:C++スタイルの 1行コメント ( // ) を許容するか (スコア:1)
UTF-8でBOMとかほんと頭おかしいしやめて欲しい。
Re: (スコア:0)
いやいやここは
#でのコメントスタイルの復権をですね
Re: (スコア:0)
それはコンパイラが Shift_JIS に対応してないってことでないの?
Re: (スコア:0)
厳密に言えばそういうことなんですが、周りのプログラマを見ても
そこまで気を使ってチェックする人は皆無ですね…
コメントスタイル以前の問題 (スコア:0)
// よくわからないけど、これ↓を追加したら動いたので消さないで
Re: (スコア:0)
スタック壊れてるんやろうな...
うちの社内ルール (スコア:0)
何の問題もない
まあ許される
だが一方で、Linusは許せる(b)案や(d)案は許されない。
無論、Linusが許せないコメントの書き方の方も許されない。
なんでも、行頭から2文字目がアスタリスクであることを前提に抜き出して整形してくれるシステムを使ってるから、らしい。
なので、Linusが許せないコメントの書き方でも
とか書けば多分通る。気持ち悪いけど。
Re: (スコア:0)
ecodeってスペース二文字分入るのか…
失敗した。
Re: (スコア:0)
まさにその、コメントを箱型に収めるのをLinusが嫌ってるようだから。
箱に収めるのに命かけてきた日本のワープロの使い方が英語圏に理解されないように、
それは言っても仕方ないと思うよ。
Emacsのデフォルト (スコア:0)
Emacsで長いコメントをM-qで整形すると、
(no-no-no)のスタイルになっちゃうんだよね。
ちょっと手を加えないといけない。
あと左側のアステリスクも揃っちゃうんだけどそこはいいのだろうか。
コメントのボックス化 (スコア:0)
って、 * で枠を作ってあるやつのこと?
プログラマ的には一般的な表現なのかな。
Re: (スコア:0)
俺はしないけど、プログラマというより、上からそうしろって言われて
とかじゃないかなぁ。管理職の人ってなんでも罫線で囲ったりするの大好きだし…
#一種の強迫観念なんじゃないかと思う
Re:コメントのボックス化 (スコア:1)
1桁目や、72桁目にアスタリスクの穴を開けるのは簡単でしょうね。
(というか、そのカードを抜いちゃうのが一番早いのだけど)
maruken
Re:コメントのボックス化 (スコア:1)
そういえばむかーしむかしの汎用機のスクリーンエディタって、1行は必ず72(+8)桁なので、
画面の好きな桁で*の縦線を引くのは簡単だったのを思い出しました。
私のボスのソースもコメントに枠が付いていた。
→ 一部現役です(行番号含めて)
maruken
Re:コメントのボックス化 (スコア:1)
ナツメ社っぽい。
昭和やね。。。
Re:例えると (スコア:1)
「
インデントしたい。
」