Blog

¿Qué es Sensei?

October 8, 2020
Alan Richardson
La superposición de texto dice "Domina la programación segura con Sensei" sobre unas manos escribiendo en un portátil con código en pantalla.

El plugin Sensei ofrece una forma sencilla de encontrar patrones de código específicos en tu código fuente y aplicar reglas de reescritura para modificar el código coincidente. Todo dentro del IDE IntelliJ y en tiempo real.

‍

‍

Por ejemplo, podrías crear una regla que detecte anotaciones `@Disabled` de JUnit que no tengan un motivo; Sensei te informaría del problema resaltando el código en el IDE.

Además, al presionar `alt+enter`, puedes tener la opción de `Add a todo comment parameter`.

Al seleccionarla, el código se modificaría para añadir un motivo predeterminado que luego puedes editar; si no lo haces, aparecerá en tu panel de TODO.

p. ej., `@Disabled` se convertiría en `@Disabled("TODO: add a description here")`

Sensei combina la funcionalidad de un escáner de análisis estático de código con un motor de reescritura de código.

Acciones de intención de IntelliJ

Basándose en la descripción anterior, la alternativa obvia (si no estuvieras usando Sensei) es utilizar la funcionalidad de Acciones de intención de IntelliJ.

Sensei se diferencia de las Acciones de intención de IntelliJ porque su objetivo es proporcionar una forma de crear buscadores de coincidencias y reescritores que sean específicos para un proyecto, o incluso locales para un desarrollador individual.

Hemos intentado crear una interfaz gráfica que facilite tanto la escritura como la experimentación con las reglas de coincidencia y reescritura.

User interface showing recipe settings with annotation search and Java code snippet using @Disabled.

¿Cómo puede ayudarme a mejorar personalmente?

Cuando aprendo una biblioteca nueva, me lleva tiempo desarrollar la memoria muscular necesaria para los métodos y el formato. Por eso, podría optar por crear recetas personales que

  • enlacen a la documentación oficial o a páginas de tutoriales
  • tengan plantillas predeterminadas que sean más efectivas
  • corrijan malas prácticas de codificación
  • añadan código predeterminado para ayudar a usar una biblioteca

Puedo usar Sensei para crear recetas temporales que me recuerden las prácticas que he decidido seguir y me ayuden a desarrollar hábitos efectivos. Y las recetas son temporales porque puedo eliminarlas cuando ya no las necesite.

¿Cómo puede ayudar a mi equipo a mejorar?

De la misma manera, podemos ayudar a los equipos a desarrollar memoria muscular en torno a los estándares de codificación acordados.

Creando libros de recetas que aplicamos cuando encontramos los mismos comentarios en las revisiones de solicitudes de extracción (pull requests). Dado que los libros de recetas se almacenan en el control de versiones junto con el proyecto, están disponibles para todos los miembros del equipo. Y podemos desactivarlos cuando ya no necesitemos los recordatorios.

Sensei ayuda a proporcionar comentarios de forma temprana

Con Sensei, hemos intentado crear una forma de obtener comentarios que nos ayuden a mejorar, junto con recordatorios de acciones correctivas, lo antes posible en el proceso de programación.

En lugar de esperar a

  • los resultados de un analizador estático
  • los comentarios de una revisión de código

Podemos ver los comentarios sobre los estándares personalizados que queremos aplicar mientras programamos.

Y disponemos de recordatorios o reglas de reescritura para ayudarnos a escribir código que cumpla con dichos estándares.

Sensei es flexible

En ese sentido, Sensei es una combinación, ya que es:

  • parte analizador estático
  • tutor de programación
  • motor de reescritura

Sensei es lo suficientemente flexible como para que definir qué es resulte un poco más difícil.

Sensei cubre un vacío en el flujo de trabajo de programación

Hemos intentado que Sensei sea la pieza que faltaba en el flujo de trabajo del programador, ayudándole a mejorar elementos específicos de su estilo de codificación o del uso de librerías en los que usted y su equipo trabajan actualmente.

Esta flexibilidad implica que requiere un poco más de tiempo familiarizarse con Sensei que con una herramienta de análisis estático o las intenciones integradas de IntelliJ. Aun así, al dedicar tiempo a experimentar, obtendrá una nueva forma de acelerar su aprendizaje.

¿Cómo experimentar?

Una vez que haya descargado e instalado Sensei desde el [Intellij Marketplace]

La forma más sencilla de hacer que Sensei trabaje para usted es observar su proceso de programación y considerar:

  • ¿Qué documentación consulta constantemente?
    -- Podría añadir recetas de Sensei que enlacen a esa documentación.
  • ¿Qué errores simples comete con frecuencia?
    -- Podría codificar temporalmente ese patrón erróneo como un buscador y escribir una corrección rápida que modifique el código según lo que realmente desea escribir.
  • ¿Qué código repetitivo escribe para usar una librería?
    -- Podría crear una regla de corrección rápida para que escriba el código por usted.

Dado que Sensei está diseñado para funcionar junto con cualquier herramienta de análisis estático que utilice, si observa que el análisis estático reporta las mismas infracciones, puede replicar la condición en una receta de Sensei. Luego, puede añadir una corrección rápida para entrenarse, no solo para identificar el error, sino también para aprender a escribir el código correcto rápidamente.

Eslogan

Controle el desarrollo impulsado por IA antes de su lanzamiento

Mida el riesgo asistido por IA, aplique políticas de codificación segura en el momento de la confirmación y acelere la entrega segura en todo su ciclo de vida de desarrollo de software (SDLC).

Reservar una demostración
Biblioteca de recursos

Explorar más blogs

Acceda a contenido especializado sobre programación segura, gobernanza de IA y gestión de riesgos de software.

ver todo
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Una cultura de seguridad: cómo Sage creó su programa de defensores

Descubre cómo Sage reforzó su seguridad con un enfoque flexible y centrado en las relaciones, logrando formar a más de 200 expertos en seguridad y alcanzar una reducción de riesgos cuantificable.

Más información
Icono de ventana de navegador con las letras KVK en negrita y dos líneas horizontales azules debajo sobre un fondo azul degradado.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Kamer van Koophandel: Seguridad a escala impulsada por los desarrolladores

La Cámara de Comercio (Kamer van Koophandel) comparte cómo integró la programación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de puntuación de confianza y una cultura de responsabilidad compartida en seguridad.

Más información
Logotipo de Insurance Australia Group con texto y un icono en azul y gris dentro del diseño de una ventana de navegador web.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cómo un «Juego de Códigos» guía a IAG Group hacia un futuro de programación más seguro

IAG Group es la entidad detrás de muchas de las principales compañías de seguros en la región de Asia-Pacífico, que suscribe pólizas para millones de clientes por un valor aproximado de 11.400 millones de dólares australianos en primas anuales.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Mes de la Concienciación sobre Ciberseguridad 2026: Comprender la seguridad de la IA es fundamental para la defensa empresarial

Hemos llegado a un punto en el que la mayoría de las principales empresas de IA han pedido públicamente una ralentización global en el desarrollo de la IA para que las medidas de seguridad puedan ponerse al día, pero la verdad es que ya se han materializado graves problemas de seguridad. Esto deja a innumerables líderes de seguridad y equipos ejecutivos en una situación urgente, a medida que los costes monetarios y de riesgo de la implementación de la IA siguen acumulándose.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Habilitador 8: Branding de su programa

Un programa de codificación segura necesita algo más que un buen contenido para tener éxito. El Habilitador 8 muestra cómo el branding transforma la participación en una experiencia codiciada basada en el estatus.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cada empleado está ahora en la primera línea de la ciberseguridad de la IA

El panorama tecnológico empresarial está cambiando a una velocidad que pocos previeron hasta que fue demasiado tarde. Hemos cruzado oficialmente el umbral del código escrito por humanos y la asistencia básica de copilotos hacia la era del Ciclo de Vida de Desarrollo Agéntico (ADLC). Si bien los agentes de IA autónomos prometen una eficiencia sin precedentes en múltiples funciones, también traen consigo una clase completamente nueva de riesgos regulatorios y de seguridad.

Más información

Proteja el desarrollo basado en IA antes de su lanzamiento

Identifique riesgos de desarrollo, aplique políticas y prevenga vulnerabilidades en todo el ciclo de vida de su software.

Reservar una demostración
No se encontraron elementos.