Javaのアノテーションの書き方について
519ページビュー2コメント今まで色々な現場に特定派遣として、行きました。主にJavaを使用したところが多かったです。現場により、様々なソースの書き方やルールがありました。その中でも、とまどったのはアノテーションの書き方です。現場により、日付と作成者のみ、どういったプログラムか100文字以内で書け、など非常にばらつきがありました。つい他の現場で書いたように書いてしまい、指摘されたこともしばしばです。一般的なアノテーションの書き方というのは、共通の書き方やルールはないのでしょうか。教えてください。よろしくお願いいたします。
- ベストアンサー!ちよりシステムエンジニア(SE)
こんにちは。確かに現場によってソースコードの記述レベルはバラバラで困りますよね。
それなりの規模の開発であれば、コーディング規約というものが存在しなかったでしょうか?
書いてはいけない実装や、インデントの決まり、命名規則などを細かく定めたものです。場所によってwordだったり、開発チーム内のwikiに記載されていたりします。
私が経験した限り、ほぼすべての現場で存在しました。ただ、形骸化していて、誰も読まなかったり守られていなかったりするのが実情でしたが・・・。
もし「一般的」な記述を知りたいのであれば、そういったドキュメントに目を通すことをおすすめします。また、アノテーションについての質問とのことですが、質問を拝見する限り、javadoc(プログラムへのコメント)についての質問のように見えました。
javadoc内では確かに、@paramや@return、@authorなどのアノテーションを利用することができます。
javadocの一般的な書き方を知りたいのであれば、Java本家のコードを見るのがよいのではないでしょうか。EclipseなどのIDEを使っているときにクラスやメソッドにオンマウスしたときに出るコメント、あれがjavadocです。また、ソースコード中のjavadocをHTML出力したものが、Javaリファレンス(WebでOracleが公開しているもの)になります。質問にあった「アノテーション」自体は、javadocやコメントのためにあるものではなく、メタ情報の付与のために使われるものです。
jUnitでいう@Testなどが有名ですね。こちらは@によって特定のプログラムを呼び出しているようなものなので、書き方にばらつきは発生しないと思います。 - ミクプログラマー
アノテーションの書き方についての質問ですが日付と作成者という部分からドキュメンテーションコメントの間違いではないでしょうか?
コーディング規約やルールについては、GoogleやOracleでさえ独自に発表してますので世界共通のルールは存在しないと思います。
共通の書き方やルールがあるんだから現場もそれに合わるべきではという風に聞こえるんですが、特定派遣として働いているわけですから現場に合わせて記述するべきです。kyonさんがそのルールに対して文句を言ったところで状況が良くなるとは思えません。
特定派遣としての役割がありますのでルールに従って間違いを犯さないように心がけるべきです。
誰にだって間違えはありますので、行数のチェックができるようなEclipseのプラグインを探してみたり
ルール通り記述されているかどうか間違えを発見できるような自動化出来る仕組みを考えてみてはいかがでしょうか?書き方が分からないのであればjavaのコアライブラリのドキュメントや
「エンジニアのためのJavadoc再入門講座 現場で使えるAPI仕様書の作り方」という本が参考になります。