テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

(writeboost report) コメントを書こうかと思う

少なくとも3人の人間に, writeboostはコメントが必要であると指摘されている. (a) カーゴン, (b) @hide5stm, (c) 同期T氏の3人. なぜコメントを書かなければならないのかについて3人はどう述べたか:

  • (a) 何もなし. ただ, "needs more comments inline"と述べるだけ.
  • (b) コメントがないと新規参入者がコードを理解するのに苦労する. OSSではコメントは重要. コメントがなくて成功しているOSSはない.
  • (c) 読めない.

私は, コメントを書くのが嫌いだ. コメントを書くことが敗北とすら思っている.

理由:
1. それは単なる重複である. そのソフトウェアの動作についてすべての情報はコードに書いてあり, 私のコードは可読性が高いのだから, コメントなど書く必要がない. コメントを書かないといけないという文化がコードの腐敗を生むことは明白である. コードだけで読ませる技術の精進を諦めるからである.
2. コメントは, "What it does"や"How it works"について書くべきではない. 皮肉をこめて敢えて同じ形で書くならば, "Why is it so"についてのみ書くべきである. そしてこの点については, writeboostのコードは完全に満たしていると信じる. なぜそうしたかは, 前者2つと違い, ソースコードからは読み取れないか, 読み取るのが極めて難しいことが多いものである. これを書くことは価値がある. そして, 自分の設計思想を見せつけるための楽しみでもある.

純粋にコードを書くという点においてはこの主張は間違いなく正しい. しかし, OSSコードが, 「不特定多数の人間が読むもの」であるという条件を追加するとバランスは少し変わってくる可能性があることが分かった.

根拠:
1. 私のコードを読む人間は, 私の周りにいない(物理的な意味で). タイムゾーンも違うことが多いのでチャットも難しい. 従ってコミュニケーションに支払うコストは高くなって仕方がない.
2. writeboostの成功のためである. 私のコードは3500行ほどある. これに対して500行や1000行のコメントを追加したところで保守コストが劇的に高まるわけではなく(writeboostの実装はかなり安定してますし), にも関わらず, コードが読まれる可能性を上げることが出来る. いや, コードが読まれない可能性を下げるという方がより正確だ.

根拠 for 2:
1. 純粋に技術的な視点に立ったとしても, 「可読性が高いかどうか分からないコード」をいきなり読もうと努力することは抵抗がある. 同僚でも誰でもない, 怪しい日本人の書いたコードである. しかも彼の垢名はakiradeveloperである. どう考えても, 異常である.
2. そもそも, OSSコードというものはコメントを入念に書いてあるものがふつうであるという共通観念がそこにあった場合, コメントが書いてないというだけで拒否される可能性がある.

PhoronixやOpenNetでの書き込みを見るに, PDFを読んで理解してくれてる人は少なくないように思う. しかしコードに関する言及がない. これは不自然だ. コードにだって興味がわくものではないのか?理由はきっと, コメントがないから読んでくれないからだ. writeboostのコードは, 読む価値のあるコードである. それは私が「書く価値がある」と思って書いたからよく分かる.

以上の考察より, 私はwriteboostにコメントを追加し, 「みなみなさまのコードレビューがしやすくなるようにコメントを追加した. よろしくお願いいたします」とか適当に改心したようなことを言ってコミュニティに媚びへつらうことにする. その形式は, 他のカーネルコードを見習えば良いだろう. 簡単だ. 糞つまらん.