Si el problema es encontrar un código comentado, lo que se necesita es una forma de encontrar comentarios y una forma de decidir si un comentario puede contener código.
Una manera simple de hacer esto es buscar comentarios que contengan cosas parecidas a códigos. Estaría tentado de buscar comentarios que contengan un ";" carácter (o algún otro indicador raro como "="); será bastante difícil tener un código interesante que no contenga esto y, en mi experiencia con los comentarios, no veo muchas personas que escriban que contengan esto. Una búsqueda regexp para esto debería ser bastante sencilla, incluso si recogió algunos falsos positivos adicionales (por ejemplo, // en un literal de cadena).
Una forma más sofisticada de lograr esto es usar un analizador o analizador de Java.Si tiene un lexer que devuelve comentarios en tokens (no todos lo hacen, los compiladores de Java no están interesados en los comentarios), entonces simplemente puede escanear los lexemas para un comentario y hacer la comprobación de punto y coma que describí anteriormente. No obtendrá hits positivos falsos para comentarios como cosas en literales de cadenas con este enfoque.
Si usted tiene un programa de análisis reingeniería que captura los comentarios como parte de la AST (como nuestro SD Java Front End), puede escanear mecánicamente el árbol de análisis sintáctico para comentarios, alimentar el contexto comentario vuelta al analizador a ver si el contenido es de código, e informar a cualquiera que pase ese módulo de prueba alguna tasa de error de depensión del tamaño (10 errores en 15 caracteres implican "realmente es un comentario"). Ahora la prueba "tipo código" requiere el analizador de reingeniería estar dispuesto a reconocer cualquier subcadena del lenguaje (Java). Nuestro DMS Software Reengineering Toolkit subyacente al Front End de Java puede hacer eso, usando acceso a la gramática enterrada en el front end, ya que está dispuesto a comenzar un análisis sintáctico para cualquier terminal (no) de idioma, y esta pregunta es "¿puedes encontrar un ¿Sequuencia de (no) terminales que consumen la cadena? ".
Los enfoques lexer y analizador son mazos pequeños y grandes, respectivamente. Si OP va a hacer esto solo una vez, puede atenerse a la búsqueda manual de expresiones regulares. Si el problema es vetar la base del código repetidamente (es necesario en las grandes organizaciones), querría una herramienta que se pueda ejecutar de forma regular.
Dudo que encuentres algo así. Como se dijo, puede haber un complemento que lo haga, pero ninguno que haya encontrado. –
Su pregunta no está clara. Encontrar comentarios es fácil: busque "/ *" o "//". Y dado que los comentarios no tienen una relación formal con el código, ¿cuándo hay un comentario "sobre" el código cerca, y cuándo es solo un comentario ("un soneto para ...")? ¿Qué es lo que realmente quieres hacer? –
Creo que quiere encontrar el código que está comentado, no el código que tiene un comentario. – Jorn