Blog

Was ist Sensei?

October 8, 2020
Alan Richardson
Text-Overlay: „Master secure coding with Sensei“ über Händen, die auf einem Laptop tippen, während Code auf dem Bildschirm zu sehen ist.

Das Sensei-Plugin bietet eine einfache Möglichkeit, spezifische Codemuster in Ihrem Quellcode zu finden und anschließend Rewrite-Regeln anzuwenden, um den entsprechenden Code anzupassen. Alles direkt in der IntelliJ-IDE und in Echtzeit.

‍

‍

Sie könnten beispielsweise eine Regel erstellen, die JUnit-`@Disabled`-Annotationen ohne Begründung erkennt. Sensei weist Sie dann auf das Problem hin, indem der Code in der IDE hervorgehoben wird.

Zusätzlich erhalten Sie mit `Alt+Eingabetaste` die Option, einen `TODO-Kommentar-Parameter hinzuzufügen`.

Nach der Auswahl wird der Code um einen Standard-Begründungstext ergänzt, den Sie anschließend bearbeiten können. Falls Sie dies nicht tun, erscheint er in Ihrem TODO-Panel.

z. B. wird aus `@Disabled` dann `@Disabled("TODO: add a description here")`

Sensei kombiniert die Funktionalität eines statischen Code-Analyse-Scanners mit einer Engine zur Code-Umschreibung.

IntelliJ Intention Actions

Basierend auf der obigen Beschreibung ist die offensichtliche Alternative (wenn Sie Sensei nicht verwenden würden) die Nutzung der IntelliJ Intention Actions-Funktionalität.

Sensei unterscheidet sich von IntelliJ Intention Actions dadurch, dass es darauf ausgelegt ist, Matcher und Rewriter zu erstellen, die projektspezifisch oder sogar lokal für einen einzelnen Entwickler sind.

Wir haben eine grafische Benutzeroberfläche entwickelt, mit der sich Matching- und Rewrite-Regeln einfach erstellen und testen lassen.

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

Wie kann es mir persönlich helfen, mich zu verbessern?

Wenn ich eine neue Bibliothek lerne, brauche ich Zeit, um die Methoden und Formatierungen zu verinnerlichen. Daher erstelle ich mir möglicherweise persönliche Rezepte, die

  • auf die offizielle Dokumentation oder Tutorial-Seiten verlinken
  • Standardvorlagen enthalten, die am effektivsten sind
  • schlechte Codierungspraktiken korrigieren
  • Standardcode hinzufügen, um die Nutzung einer Bibliothek zu erleichtern

Ich kann Sensei nutzen, um temporäre Rezepte zu erstellen, die mich an die von mir gewählten aktuellen Praktiken erinnern und mir helfen, effektive Gewohnheiten aufzubauen. Die Rezepte sind temporär, da ich sie entfernen kann, sobald ich sie nicht mehr benötige.

Wie kann es meinem Team helfen, sich zu verbessern?

Auf die gleiche Weise können wir Teams dabei unterstützen, ein gemeinsames Verständnis für vereinbarte Codierungsstandards zu entwickeln.

Wir erstellen Rezeptsammlungen, die wir anwenden, wenn wir bei Pull-Request-Reviews immer wieder auf dieselben Anmerkungen stoßen. Da diese Sammlungen zusammen mit dem Projekt in der Versionsverwaltung gespeichert werden, stehen sie jedem im Projekt zur Verfügung. Und wir können sie deaktivieren, wenn wir keine Erinnerungen mehr benötigen.

Sensei hilft dabei, frühzeitig Feedback zu geben

Mit Sensei wollten wir eine Möglichkeit schaffen, Feedback zur Verbesserung und Hinweise auf Korrekturmaßnahmen so früh wie möglich in den Programmierprozess zu integrieren.

Anstatt auf

  • die Ergebnisse eines statischen Analysetools
  • die Kommentare aus einem Code-Review

können wir das Feedback für die von uns gewünschten Standards direkt während des Codierens sehen.

Dabei helfen uns entweder Erinnerungen oder direkte Rewrite-Regeln dabei, Code zu schreiben, der unseren Standards entspricht.

Sensei ist flexibel

In dieser Hinsicht ist Sensei eine Mischung aus verschiedenen Dingen, da es:

  • teils statisches Analysetool
  • Programmier-Tutor
  • Rewrite-Engine

Sensei ist so flexibel, dass es gar nicht so einfach ist, kurz zu erklären, was es eigentlich ist.

Sensei schließt eine Lücke im Programmier-Workflow

Wir wollten mit Sensei das fehlende Puzzleteil im Workflow eines Entwicklers schaffen, das Ihnen hilft, spezifische Elemente Ihres Programmierstils oder die Nutzung von Bibliotheken, mit denen Sie und Ihr Team arbeiten, gezielt zu verbessern.

Diese Flexibilität bedeutet, dass die Einarbeitung in Sensei etwas mehr Zeit in Anspruch nimmt als bei einem statischen Analysetool oder den integrierten IntelliJ-Intentions. Doch die Zeit, die Sie in das Experimentieren investieren, wird Ihnen neue Wege eröffnen, Ihre persönliche Entwicklung zu beschleunigen.

Wie experimentiert man am besten?

Sobald Sie Sensei vom [IntelliJ Marketplace] heruntergeladen und installiert haben

Der einfachste Weg, Sensei für sich zu nutzen, ist, Ihren Programmierprozess zu analysieren und sich folgende Fragen zu stellen:

  • Welche Dokumentation schlagen Sie ständig nach?
    -- Sie könnten Sensei-Rezepte hinzufügen, die direkt auf diese Dokumentation verlinken.
  • Welche einfachen Fehler unterlaufen Ihnen immer wieder?
    -- Sie könnten dieses Muster vorübergehend als Matcher definieren und einen Quick Fix schreiben, der den Code automatisch korrigiert.
  • Welchen Boilerplate-Code schreiben Sie regelmäßig für eine Bibliothek?
    -- Sie könnten eine Quick-Fix-Regel erstellen, die diesen Code für Sie schreibt.

Da Sensei so konzipiert ist, dass es parallel zu jedem statischen Analysetool funktioniert, können Sie die Bedingungen für wiederkehrende Fehlermeldungen einfach in einem Sensei-Rezept nachbilden. Mit einem Quick Fix trainieren Sie sich dann nicht nur darin, den Fehler zu erkennen, sondern auch direkt den korrekten Code zu schreiben.

Slogan

Kontrollieren Sie KI-gestützte Entwicklung, bevor sie in Produktion geht

Bewerten Sie KI-gestützte Risiken, setzen Sie Richtlinien für sicheren Code direkt beim Commit durch und beschleunigen Sie die sichere Bereitstellung über Ihren gesamten SDLC hinweg.

Demo buchen
Ressourcenbibliothek

Weitere Blogs entdecken

Erhalten Sie Zugang zu Experteninhalten über sichere Programmierung, KI-Governance und Software-Risikomanagement.

alle anzeigen
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Eine Sicherheitskultur: Wie Sage sein Champions-Programm aufgebaut hat

Erfahren Sie, wie Sage die Sicherheit durch einen flexiblen, beziehungsorientierten Ansatz gestärkt, über 200 Security Champions ausgebildet und eine messbare Risikoreduzierung erzielt hat.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Cybersecurity Awareness Month 2026: Das Verständnis von KI-Sicherheit ist entscheidend für die Unternehmensverteidigung

Wir haben einen Punkt erreicht, an dem die meisten führenden KI-Unternehmen öffentlich eine weltweite Verlangsamung der KI-Entwicklung gefordert haben, damit die Sicherheitsvorkehrungen Schritt halten können. Doch die Wahrheit ist: Ernsthafte Sicherheitsprobleme sind bereits Realität geworden. Dies bringt unzählige Sicherheitsverantwortliche und Führungsteams in eine dringliche Lage, da die finanziellen Kosten und Risiken durch die Implementierung von KI stetig steigen.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Enabler 8: Branding für Ihr Programm

Ein Programm für sicheres Programmieren braucht mehr als nur großartige Inhalte, um erfolgreich zu sein. Enabler 8 zeigt, wie Branding die Teilnahme zu einem begehrten, statusorientierten Erlebnis macht.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Jeder Mitarbeiter steht jetzt an vorderster Front der KI-Cybersicherheit

Die Unternehmenslandschaft wandelt sich mit einer Geschwindigkeit, die kaum jemand vorhergesehen hat, bis es zu spät war. Wir haben offiziell die Schwelle von handgeschriebenem Code und einfacher Copilot-Unterstützung hin zur Ära des Agentic Development Lifecycle (ADLC) überschritten. Während autonome KI-Agenten eine beispiellose Effizienz in vielen Bereichen versprechen, bringen sie auch eine völlig neue Klasse von Sicherheits- und Regulierungsrisiken mit sich.

Mehr erfahren

Sichere KI-gestützte Entwicklung vor dem Release

Erkennen Sie Entwicklerrisiken, setzen Sie Richtlinien durch und verhindern Sie Schwachstellen über den gesamten Softwareentwicklungszyklus hinweg.

Demo buchen
Keine Elemente gefunden.