ものがたり(旧)

atsushieno.hatenablog.com に続く

C#ソースの一番上に/** ... **/でコメントを書くのは誤り

C#はCやJavaのパクリ文化なので、CやJavaのコードみたいに、以下のようなソースコードを書いている人も多いだろう。


/*******************************
MyBlahClass.cs
作成者: わたし
バージョン: 0.1
備考: もうイヤ
*******************************/

using System;
...

このコメントは、usingディレクティブを修飾するものとみなされるが、ドキュメンテーション コメントはユーザー定義の型あるいはメンバーに対してのみ許容される。これはECMA-334違反なので、こういうコードを書いてはいけない*1。詳しくはC#仕様書(3rd Edition)のAnnex Eを参照。

こういうコードを許容してしまうドキュメントジェネレータ実装も存在するので、特に注意が必要だ。

*1:注記しておくと、別にコンパイルエラーにしなければならないと言っているわけではない。mcsでも警告を出すのみである