ジェネリックな未加工型って何?

詳細なコーディング規約として愛用している、Javaセキュアコーディングスタンダードの訳がおかしいのでメモ。

OBJ03-J. ジェネリックな未加工型とジェネリックでない未加工型を新規コードに混在させない

http://www.jpcert.or.jp/java-rules/obj03-j.html

ジェネリック(generic)な未加工型(raw type)って何?

誤訳だと思います。genericは、rawにかかるのではなくtypesにかかるのだと思う。

翻訳元

これは以下のページを翻訳したものです。

OBJ03-J. Do not mix generic with non-generic raw types in new code (revision 86)

原文のgeneric typeという表現がそもそもよくないと思う。言語仕様上はgenericはgeneric class, generic interface, generic methodというふうに仮型引数を宣言する言語要素を形容する述語。raw型は型であって宣言ではないので、対比するのであれば実型引数を与えられた型はparameterized typeを使うべきだと思う。
参考: http://docs.oracle.com/javase/specs/jls/se7/html/index.html の目次

generic typeという用語は(言語仕様に出てこないので疑わしいが)、Oracleのこのチュートリアルによれば、型ではなく型宣言のことを指すと考えられる。

A generic type is a generic class or interface that is parameterized over types. The following Box class will be modified to demonstrate the concept.

http://docs.oracle.com/javase/tutorial/java/generics/types.html