SCW Icons
hero bg no divider
Blog

So verhindern Sie häufige Java-Fehler

Wandern Sie Neto
Published Feb 02, 2022
Last updated on Mar 09, 2026

Seien Sie ein produktiverer Java-Entwickler

Mit 9 Millionen Entwicklern weltweit* gehört Java (Oracle Corporation) zu den beliebtesten Programmiersprachen der Welt. Viele Anwendungsframeworks wurden auf Java aufgebaut, da es sich um eine sehr vielseitige Sprache handelt, mit der Programme auf vielen verschiedenen Geräten ausgeführt werden können, die Java Runtime Environment (JRE) unterstützen — eine Umgebung, in der alle Java-Programme ausgeführt werden. Die von Entwicklern geleiteten Communitys sind sehr aktiv und die umfassende Unterstützung, die neuen Programmierern zur Verfügung steht, trägt zu ihrer stetig wachsenden Beliebtheit bei.

Da es Java schon lange gibt, haben die Communities Jahre damit verbracht, Standards, Tools und Codierungsmuster zu entwickeln und häufige Fehler zu beheben, mit denen Entwickler immer wieder konfrontiert sind. Alle diese von der Community geleiteten Initiativen haben ein gemeinsames Ziel: Entwickler dabei zu unterstützen, bei der Entwicklung von Anwendungen mit Java so produktiv wie möglich zu sein. Wenn es jedoch darum geht, die besten Praktiken oder Muster im Anwendungscode anzuwenden, liegt die Verantwortung beim Entwickler. Die Durchsetzung guter Praktiken ist sehr unterschiedlich und macht es daher schwierig, einen Standardansatz für eine Programmierpraxis zu verfolgen, wenn die Meinungen innerhalb der Gemeinschaften sehr unterschiedlich sind. Die Entwickler greifen auf Hilfe in Online-Communities zurück, die Ihnen manchmal versehentlich unsichere Lösungen für Ihre Codierungsprobleme bieten können.

Um Entwicklern bei der Implementierung sicherer Lösungen für häufig auftretende Java-Codierungsprobleme zu helfen, haben wir Sensei entwickelt — ein IntelliJ-Plugin zur Korrektur fehlerhafter Codierungsmuster gemäß den von Ihnen oder Ihrer Organisation definierten Rezepten (oder Regeln) in einer professionellen Umgebung. Sensei ermöglicht es Entwicklern, häufige Java-Fehler (Fallstricke) mit einem einzigen Klick zu identifizieren und zu korrigieren.

Lesen Sie weiter, um zu erfahren, wie Sensei die Produktivität von Entwicklern steigert, indem er einige häufig auftretende Java-Codierungsfehler behebt.

Ein wiederkehrender Fehler, der Entwickler frustriert

Ein Beispiel für diese häufigen Fehler ist die falsche Gleichheitsprüfung von Wrapper-Werten. Werte von Grundkörpern in Boxen sollten mit der Equals-Methode verglichen werden, statt mit dem Referenzvergleichsoperator (= =), um unerwartete Ergebnisse zu vermeiden.

Beispielsweise verhält sich die Verwendung des Referenzvergleichsoperators für Integer-Werte im Bereich von -128 bis 127 (normalerweise) genauso wie die Methode equals. Wenn wir jedoch denselben Vergleich mit Werten außerhalb dieses Bereichs durchführen, unterscheiden sich die Ergebnisse. Dies liegt daran, dass Java einen konstanten Pool für den genannten Bereich von Integer-Werten beibehält. Die Verwendung der Equals-Methode führt immer zu den erwarteten Ergebnissen und ist daher die richtige Methode zum Vergleichen.

In diesem Beispiel verwenden wir fälschlicherweise den Operator (==), um die Gleichheit zu überprüfen.

Was zu der folgenden Ausgabe führt:

wahr

falsch

falsch

wahr

Der richtige Weg zum Vergleichen ist die Equals-Methode.

Und dann wäre die Ausgabe:

wahr

falsch

wahr

falsch

Diese bekannte bewährte Methode gibt es schon seit geraumer Zeit und dennoch wird sie oft falsch in Legacy-Code implementiert, der darauf wartet, zum ungünstigsten Zeitpunkt seinen hässlichen Kopf zu erheben. Deshalb haben wir Rezepte (oder Regeln) erstellt, die helfen, solche unerwünschten Codierungsmuster lokal zu identifizieren und mithilfe von Sensei mit einem einzigen Klick eine Korrektur vorzunehmen.

Sensei ist ein hochgradig anpassbares IDE-Plugin zum Scannen und Korrigieren von unerwünschtem Code während der Eingabe — mit Hunderten von herunterladbaren Code-Transformationen und Migrationsrezepten (Regeln) sowie einer eingebauten Fähigkeit, eigenen Code zu erstellen. Mit Sensei können Entwickler fehlerhafte Codemuster während der Eingabe korrigieren, sodass sie Qualitätscode schneller bereitstellen und ihn letztendlich auf konsistente und standardisierte Weise für alle Teams und Projekte schreiben können.

Wie Sensei solche häufigen Java-Probleme behebt

Da Sensei es dir ermöglicht, deine eigenen Rezepte zu kreieren, haben wir ein Rezept erstellt, um den oben genannten Fehler zu korrigieren.

In diesem Beispiel wollen wir herausfinden, wo wir den Vergleichsoperator (==) im primitiven Box-Typ verwenden.

Ein Sensei-Rezept sieht so aus (in YAML):

Das oben Genannte kann während der Eingabe nach dem wiederkehrenden fehlerhaften Muster oder der gesamten Datei, dem konfigurierten Bereich und sogar der gesamten Codebasis suchen. Sobald das Muster gefunden wurde, besteht der nächste natürliche Schritt darin, es sofort korrigieren zu können, ohne online suchen zu müssen. Mit Sensei können Sie Korrekturen erstellen, mit denen Sie Code wie angegeben hinzufügen/bearbeiten/löschen können. Sie können sogar mehrere Fixes bereitstellen, wenn Sie dies für richtig halten, sodass Entwickler den für sie am besten geeigneten Fix auswählen können.

In unserem Beispiel wollen wir den Vergleich mit der Methode equals anstelle des Operators (==) neu schreiben.

Ein verfügbarer Fix wird wie folgt beschrieben:

So funktioniert's:

Einfache Implementierung von Standard-Codierungsrichtlinien

Das Java Gotchas Cookbook enthält 22 Rezepte, mit denen Sie häufige Fehler vermeiden und Ihren Code sauber und sicher halten können. Es erkennt die falsche oder unsichere Verwendung verschiedener Funktionen und APIs der Java-Sprache, z. B. Objektgleichheit, Ausnahmebehandlung, reguläre Ausdrücke und Sammlungen. Wenn Sie Sensei und dieses Kochbuch verwenden, können Sie von Anfang an besseren Code schreiben und sogar Ihre eigenen Rezepte erstellen, die zu Ihrem einzigartigen Team, Projekt oder Ihrer Organisation passen.

Dies ist nur ein Beispiel für die vielen Möglichkeiten, wie Sensei zur Standardisierung Ihrer Projekte eingesetzt werden kann. Du kannst immer nach Anti-Patterns oder bestimmten manuellen Codetransformationen Ausschau halten, auf die du häufig in Pull-Requests stößt oder wenn du selbst codest. Wenn du eine Reihe von Codierungsrichtlinien hast, die von Entwicklern oft übersehen werden, könntest du die Richtlinien in Rezepte umwandeln, sodass Entwickler genehmigte Codetransformationen mit Zuversicht anwenden können.

Installieren Sie Sensei jetzt und aktivieren Sie Java Gotchas Cookbook für ein produktives Entwicklungserlebnis. https://sensei.securecodewarrior.com/cookbooks/scw:java

*2021, Bundesstaat der Entwicklernation, https://www.developernation.net/developer-reports/de20

Ressource ansehen
Ressource ansehen

Interessiert an mehr?

learn more

Secure Code Warrior ist für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Demo buchen
Teilen auf:
linkedin brandsSocialx logo
Autor
Wandern Sie Neto
Published Feb 02, 2022

Teilen auf:
linkedin brandsSocialx logo

Seien Sie ein produktiverer Java-Entwickler

Mit 9 Millionen Entwicklern weltweit* gehört Java (Oracle Corporation) zu den beliebtesten Programmiersprachen der Welt. Viele Anwendungsframeworks wurden auf Java aufgebaut, da es sich um eine sehr vielseitige Sprache handelt, mit der Programme auf vielen verschiedenen Geräten ausgeführt werden können, die Java Runtime Environment (JRE) unterstützen — eine Umgebung, in der alle Java-Programme ausgeführt werden. Die von Entwicklern geleiteten Communitys sind sehr aktiv und die umfassende Unterstützung, die neuen Programmierern zur Verfügung steht, trägt zu ihrer stetig wachsenden Beliebtheit bei.

Da es Java schon lange gibt, haben die Communities Jahre damit verbracht, Standards, Tools und Codierungsmuster zu entwickeln und häufige Fehler zu beheben, mit denen Entwickler immer wieder konfrontiert sind. Alle diese von der Community geleiteten Initiativen haben ein gemeinsames Ziel: Entwickler dabei zu unterstützen, bei der Entwicklung von Anwendungen mit Java so produktiv wie möglich zu sein. Wenn es jedoch darum geht, die besten Praktiken oder Muster im Anwendungscode anzuwenden, liegt die Verantwortung beim Entwickler. Die Durchsetzung guter Praktiken ist sehr unterschiedlich und macht es daher schwierig, einen Standardansatz für eine Programmierpraxis zu verfolgen, wenn die Meinungen innerhalb der Gemeinschaften sehr unterschiedlich sind. Die Entwickler greifen auf Hilfe in Online-Communities zurück, die Ihnen manchmal versehentlich unsichere Lösungen für Ihre Codierungsprobleme bieten können.

Um Entwicklern bei der Implementierung sicherer Lösungen für häufig auftretende Java-Codierungsprobleme zu helfen, haben wir Sensei entwickelt — ein IntelliJ-Plugin zur Korrektur fehlerhafter Codierungsmuster gemäß den von Ihnen oder Ihrer Organisation definierten Rezepten (oder Regeln) in einer professionellen Umgebung. Sensei ermöglicht es Entwicklern, häufige Java-Fehler (Fallstricke) mit einem einzigen Klick zu identifizieren und zu korrigieren.

Lesen Sie weiter, um zu erfahren, wie Sensei die Produktivität von Entwicklern steigert, indem er einige häufig auftretende Java-Codierungsfehler behebt.

Ein wiederkehrender Fehler, der Entwickler frustriert

Ein Beispiel für diese häufigen Fehler ist die falsche Gleichheitsprüfung von Wrapper-Werten. Werte von Grundkörpern in Boxen sollten mit der Equals-Methode verglichen werden, statt mit dem Referenzvergleichsoperator (= =), um unerwartete Ergebnisse zu vermeiden.

Beispielsweise verhält sich die Verwendung des Referenzvergleichsoperators für Integer-Werte im Bereich von -128 bis 127 (normalerweise) genauso wie die Methode equals. Wenn wir jedoch denselben Vergleich mit Werten außerhalb dieses Bereichs durchführen, unterscheiden sich die Ergebnisse. Dies liegt daran, dass Java einen konstanten Pool für den genannten Bereich von Integer-Werten beibehält. Die Verwendung der Equals-Methode führt immer zu den erwarteten Ergebnissen und ist daher die richtige Methode zum Vergleichen.

In diesem Beispiel verwenden wir fälschlicherweise den Operator (==), um die Gleichheit zu überprüfen.

Was zu der folgenden Ausgabe führt:

wahr

falsch

falsch

wahr

Der richtige Weg zum Vergleichen ist die Equals-Methode.

Und dann wäre die Ausgabe:

wahr

falsch

wahr

falsch

Diese bekannte bewährte Methode gibt es schon seit geraumer Zeit und dennoch wird sie oft falsch in Legacy-Code implementiert, der darauf wartet, zum ungünstigsten Zeitpunkt seinen hässlichen Kopf zu erheben. Deshalb haben wir Rezepte (oder Regeln) erstellt, die helfen, solche unerwünschten Codierungsmuster lokal zu identifizieren und mithilfe von Sensei mit einem einzigen Klick eine Korrektur vorzunehmen.

Sensei ist ein hochgradig anpassbares IDE-Plugin zum Scannen und Korrigieren von unerwünschtem Code während der Eingabe — mit Hunderten von herunterladbaren Code-Transformationen und Migrationsrezepten (Regeln) sowie einer eingebauten Fähigkeit, eigenen Code zu erstellen. Mit Sensei können Entwickler fehlerhafte Codemuster während der Eingabe korrigieren, sodass sie Qualitätscode schneller bereitstellen und ihn letztendlich auf konsistente und standardisierte Weise für alle Teams und Projekte schreiben können.

Wie Sensei solche häufigen Java-Probleme behebt

Da Sensei es dir ermöglicht, deine eigenen Rezepte zu kreieren, haben wir ein Rezept erstellt, um den oben genannten Fehler zu korrigieren.

In diesem Beispiel wollen wir herausfinden, wo wir den Vergleichsoperator (==) im primitiven Box-Typ verwenden.

Ein Sensei-Rezept sieht so aus (in YAML):

Das oben Genannte kann während der Eingabe nach dem wiederkehrenden fehlerhaften Muster oder der gesamten Datei, dem konfigurierten Bereich und sogar der gesamten Codebasis suchen. Sobald das Muster gefunden wurde, besteht der nächste natürliche Schritt darin, es sofort korrigieren zu können, ohne online suchen zu müssen. Mit Sensei können Sie Korrekturen erstellen, mit denen Sie Code wie angegeben hinzufügen/bearbeiten/löschen können. Sie können sogar mehrere Fixes bereitstellen, wenn Sie dies für richtig halten, sodass Entwickler den für sie am besten geeigneten Fix auswählen können.

In unserem Beispiel wollen wir den Vergleich mit der Methode equals anstelle des Operators (==) neu schreiben.

Ein verfügbarer Fix wird wie folgt beschrieben:

So funktioniert's:

Einfache Implementierung von Standard-Codierungsrichtlinien

Das Java Gotchas Cookbook enthält 22 Rezepte, mit denen Sie häufige Fehler vermeiden und Ihren Code sauber und sicher halten können. Es erkennt die falsche oder unsichere Verwendung verschiedener Funktionen und APIs der Java-Sprache, z. B. Objektgleichheit, Ausnahmebehandlung, reguläre Ausdrücke und Sammlungen. Wenn Sie Sensei und dieses Kochbuch verwenden, können Sie von Anfang an besseren Code schreiben und sogar Ihre eigenen Rezepte erstellen, die zu Ihrem einzigartigen Team, Projekt oder Ihrer Organisation passen.

Dies ist nur ein Beispiel für die vielen Möglichkeiten, wie Sensei zur Standardisierung Ihrer Projekte eingesetzt werden kann. Du kannst immer nach Anti-Patterns oder bestimmten manuellen Codetransformationen Ausschau halten, auf die du häufig in Pull-Requests stößt oder wenn du selbst codest. Wenn du eine Reihe von Codierungsrichtlinien hast, die von Entwicklern oft übersehen werden, könntest du die Richtlinien in Rezepte umwandeln, sodass Entwickler genehmigte Codetransformationen mit Zuversicht anwenden können.

Installieren Sie Sensei jetzt und aktivieren Sie Java Gotchas Cookbook für ein produktives Entwicklungserlebnis. https://sensei.securecodewarrior.com/cookbooks/scw:java

*2021, Bundesstaat der Entwicklernation, https://www.developernation.net/developer-reports/de20

Ressource ansehen
Ressource ansehen

Füllen Sie das unten stehende Formular aus, um den Bericht herunterzuladen

Wir bitten um Ihre Erlaubnis, Ihnen Informationen zu unseren Produkten und/oder verwandten Themen rund um sichere Codierung zuzusenden. Wir behandeln Ihre persönlichen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen.

Einreichen
scw success icon
scw error icon
Um das Formular abzusenden, aktivieren Sie bitte „Analytics“ -Cookies. Wenn Sie fertig sind, können Sie sie jederzeit wieder deaktivieren.

Seien Sie ein produktiverer Java-Entwickler

Mit 9 Millionen Entwicklern weltweit* gehört Java (Oracle Corporation) zu den beliebtesten Programmiersprachen der Welt. Viele Anwendungsframeworks wurden auf Java aufgebaut, da es sich um eine sehr vielseitige Sprache handelt, mit der Programme auf vielen verschiedenen Geräten ausgeführt werden können, die Java Runtime Environment (JRE) unterstützen — eine Umgebung, in der alle Java-Programme ausgeführt werden. Die von Entwicklern geleiteten Communitys sind sehr aktiv und die umfassende Unterstützung, die neuen Programmierern zur Verfügung steht, trägt zu ihrer stetig wachsenden Beliebtheit bei.

Da es Java schon lange gibt, haben die Communities Jahre damit verbracht, Standards, Tools und Codierungsmuster zu entwickeln und häufige Fehler zu beheben, mit denen Entwickler immer wieder konfrontiert sind. Alle diese von der Community geleiteten Initiativen haben ein gemeinsames Ziel: Entwickler dabei zu unterstützen, bei der Entwicklung von Anwendungen mit Java so produktiv wie möglich zu sein. Wenn es jedoch darum geht, die besten Praktiken oder Muster im Anwendungscode anzuwenden, liegt die Verantwortung beim Entwickler. Die Durchsetzung guter Praktiken ist sehr unterschiedlich und macht es daher schwierig, einen Standardansatz für eine Programmierpraxis zu verfolgen, wenn die Meinungen innerhalb der Gemeinschaften sehr unterschiedlich sind. Die Entwickler greifen auf Hilfe in Online-Communities zurück, die Ihnen manchmal versehentlich unsichere Lösungen für Ihre Codierungsprobleme bieten können.

Um Entwicklern bei der Implementierung sicherer Lösungen für häufig auftretende Java-Codierungsprobleme zu helfen, haben wir Sensei entwickelt — ein IntelliJ-Plugin zur Korrektur fehlerhafter Codierungsmuster gemäß den von Ihnen oder Ihrer Organisation definierten Rezepten (oder Regeln) in einer professionellen Umgebung. Sensei ermöglicht es Entwicklern, häufige Java-Fehler (Fallstricke) mit einem einzigen Klick zu identifizieren und zu korrigieren.

Lesen Sie weiter, um zu erfahren, wie Sensei die Produktivität von Entwicklern steigert, indem er einige häufig auftretende Java-Codierungsfehler behebt.

Ein wiederkehrender Fehler, der Entwickler frustriert

Ein Beispiel für diese häufigen Fehler ist die falsche Gleichheitsprüfung von Wrapper-Werten. Werte von Grundkörpern in Boxen sollten mit der Equals-Methode verglichen werden, statt mit dem Referenzvergleichsoperator (= =), um unerwartete Ergebnisse zu vermeiden.

Beispielsweise verhält sich die Verwendung des Referenzvergleichsoperators für Integer-Werte im Bereich von -128 bis 127 (normalerweise) genauso wie die Methode equals. Wenn wir jedoch denselben Vergleich mit Werten außerhalb dieses Bereichs durchführen, unterscheiden sich die Ergebnisse. Dies liegt daran, dass Java einen konstanten Pool für den genannten Bereich von Integer-Werten beibehält. Die Verwendung der Equals-Methode führt immer zu den erwarteten Ergebnissen und ist daher die richtige Methode zum Vergleichen.

In diesem Beispiel verwenden wir fälschlicherweise den Operator (==), um die Gleichheit zu überprüfen.

Was zu der folgenden Ausgabe führt:

wahr

falsch

falsch

wahr

Der richtige Weg zum Vergleichen ist die Equals-Methode.

Und dann wäre die Ausgabe:

wahr

falsch

wahr

falsch

Diese bekannte bewährte Methode gibt es schon seit geraumer Zeit und dennoch wird sie oft falsch in Legacy-Code implementiert, der darauf wartet, zum ungünstigsten Zeitpunkt seinen hässlichen Kopf zu erheben. Deshalb haben wir Rezepte (oder Regeln) erstellt, die helfen, solche unerwünschten Codierungsmuster lokal zu identifizieren und mithilfe von Sensei mit einem einzigen Klick eine Korrektur vorzunehmen.

Sensei ist ein hochgradig anpassbares IDE-Plugin zum Scannen und Korrigieren von unerwünschtem Code während der Eingabe — mit Hunderten von herunterladbaren Code-Transformationen und Migrationsrezepten (Regeln) sowie einer eingebauten Fähigkeit, eigenen Code zu erstellen. Mit Sensei können Entwickler fehlerhafte Codemuster während der Eingabe korrigieren, sodass sie Qualitätscode schneller bereitstellen und ihn letztendlich auf konsistente und standardisierte Weise für alle Teams und Projekte schreiben können.

Wie Sensei solche häufigen Java-Probleme behebt

Da Sensei es dir ermöglicht, deine eigenen Rezepte zu kreieren, haben wir ein Rezept erstellt, um den oben genannten Fehler zu korrigieren.

In diesem Beispiel wollen wir herausfinden, wo wir den Vergleichsoperator (==) im primitiven Box-Typ verwenden.

Ein Sensei-Rezept sieht so aus (in YAML):

Das oben Genannte kann während der Eingabe nach dem wiederkehrenden fehlerhaften Muster oder der gesamten Datei, dem konfigurierten Bereich und sogar der gesamten Codebasis suchen. Sobald das Muster gefunden wurde, besteht der nächste natürliche Schritt darin, es sofort korrigieren zu können, ohne online suchen zu müssen. Mit Sensei können Sie Korrekturen erstellen, mit denen Sie Code wie angegeben hinzufügen/bearbeiten/löschen können. Sie können sogar mehrere Fixes bereitstellen, wenn Sie dies für richtig halten, sodass Entwickler den für sie am besten geeigneten Fix auswählen können.

In unserem Beispiel wollen wir den Vergleich mit der Methode equals anstelle des Operators (==) neu schreiben.

Ein verfügbarer Fix wird wie folgt beschrieben:

So funktioniert's:

Einfache Implementierung von Standard-Codierungsrichtlinien

Das Java Gotchas Cookbook enthält 22 Rezepte, mit denen Sie häufige Fehler vermeiden und Ihren Code sauber und sicher halten können. Es erkennt die falsche oder unsichere Verwendung verschiedener Funktionen und APIs der Java-Sprache, z. B. Objektgleichheit, Ausnahmebehandlung, reguläre Ausdrücke und Sammlungen. Wenn Sie Sensei und dieses Kochbuch verwenden, können Sie von Anfang an besseren Code schreiben und sogar Ihre eigenen Rezepte erstellen, die zu Ihrem einzigartigen Team, Projekt oder Ihrer Organisation passen.

Dies ist nur ein Beispiel für die vielen Möglichkeiten, wie Sensei zur Standardisierung Ihrer Projekte eingesetzt werden kann. Du kannst immer nach Anti-Patterns oder bestimmten manuellen Codetransformationen Ausschau halten, auf die du häufig in Pull-Requests stößt oder wenn du selbst codest. Wenn du eine Reihe von Codierungsrichtlinien hast, die von Entwicklern oft übersehen werden, könntest du die Richtlinien in Rezepte umwandeln, sodass Entwickler genehmigte Codetransformationen mit Zuversicht anwenden können.

Installieren Sie Sensei jetzt und aktivieren Sie Java Gotchas Cookbook für ein produktives Entwicklungserlebnis. https://sensei.securecodewarrior.com/cookbooks/scw:java

*2021, Bundesstaat der Entwicklernation, https://www.developernation.net/developer-reports/de20

Webinar ansehen
Fangen Sie an
learn more

Klicken Sie auf den Link unten und laden Sie das PDF dieser Ressource herunter.

Secure Code Warrior ist für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht ansehenEine Demo buchen
Ressource ansehen
Teilen auf:
linkedin brandsSocialx logo
Interessiert an mehr?

Teilen auf:
linkedin brandsSocialx logo
Autor
Wandern Sie Neto
Published Feb 02, 2022

Teilen auf:
linkedin brandsSocialx logo

Seien Sie ein produktiverer Java-Entwickler

Mit 9 Millionen Entwicklern weltweit* gehört Java (Oracle Corporation) zu den beliebtesten Programmiersprachen der Welt. Viele Anwendungsframeworks wurden auf Java aufgebaut, da es sich um eine sehr vielseitige Sprache handelt, mit der Programme auf vielen verschiedenen Geräten ausgeführt werden können, die Java Runtime Environment (JRE) unterstützen — eine Umgebung, in der alle Java-Programme ausgeführt werden. Die von Entwicklern geleiteten Communitys sind sehr aktiv und die umfassende Unterstützung, die neuen Programmierern zur Verfügung steht, trägt zu ihrer stetig wachsenden Beliebtheit bei.

Da es Java schon lange gibt, haben die Communities Jahre damit verbracht, Standards, Tools und Codierungsmuster zu entwickeln und häufige Fehler zu beheben, mit denen Entwickler immer wieder konfrontiert sind. Alle diese von der Community geleiteten Initiativen haben ein gemeinsames Ziel: Entwickler dabei zu unterstützen, bei der Entwicklung von Anwendungen mit Java so produktiv wie möglich zu sein. Wenn es jedoch darum geht, die besten Praktiken oder Muster im Anwendungscode anzuwenden, liegt die Verantwortung beim Entwickler. Die Durchsetzung guter Praktiken ist sehr unterschiedlich und macht es daher schwierig, einen Standardansatz für eine Programmierpraxis zu verfolgen, wenn die Meinungen innerhalb der Gemeinschaften sehr unterschiedlich sind. Die Entwickler greifen auf Hilfe in Online-Communities zurück, die Ihnen manchmal versehentlich unsichere Lösungen für Ihre Codierungsprobleme bieten können.

Um Entwicklern bei der Implementierung sicherer Lösungen für häufig auftretende Java-Codierungsprobleme zu helfen, haben wir Sensei entwickelt — ein IntelliJ-Plugin zur Korrektur fehlerhafter Codierungsmuster gemäß den von Ihnen oder Ihrer Organisation definierten Rezepten (oder Regeln) in einer professionellen Umgebung. Sensei ermöglicht es Entwicklern, häufige Java-Fehler (Fallstricke) mit einem einzigen Klick zu identifizieren und zu korrigieren.

Lesen Sie weiter, um zu erfahren, wie Sensei die Produktivität von Entwicklern steigert, indem er einige häufig auftretende Java-Codierungsfehler behebt.

Ein wiederkehrender Fehler, der Entwickler frustriert

Ein Beispiel für diese häufigen Fehler ist die falsche Gleichheitsprüfung von Wrapper-Werten. Werte von Grundkörpern in Boxen sollten mit der Equals-Methode verglichen werden, statt mit dem Referenzvergleichsoperator (= =), um unerwartete Ergebnisse zu vermeiden.

Beispielsweise verhält sich die Verwendung des Referenzvergleichsoperators für Integer-Werte im Bereich von -128 bis 127 (normalerweise) genauso wie die Methode equals. Wenn wir jedoch denselben Vergleich mit Werten außerhalb dieses Bereichs durchführen, unterscheiden sich die Ergebnisse. Dies liegt daran, dass Java einen konstanten Pool für den genannten Bereich von Integer-Werten beibehält. Die Verwendung der Equals-Methode führt immer zu den erwarteten Ergebnissen und ist daher die richtige Methode zum Vergleichen.

In diesem Beispiel verwenden wir fälschlicherweise den Operator (==), um die Gleichheit zu überprüfen.

Was zu der folgenden Ausgabe führt:

wahr

falsch

falsch

wahr

Der richtige Weg zum Vergleichen ist die Equals-Methode.

Und dann wäre die Ausgabe:

wahr

falsch

wahr

falsch

Diese bekannte bewährte Methode gibt es schon seit geraumer Zeit und dennoch wird sie oft falsch in Legacy-Code implementiert, der darauf wartet, zum ungünstigsten Zeitpunkt seinen hässlichen Kopf zu erheben. Deshalb haben wir Rezepte (oder Regeln) erstellt, die helfen, solche unerwünschten Codierungsmuster lokal zu identifizieren und mithilfe von Sensei mit einem einzigen Klick eine Korrektur vorzunehmen.

Sensei ist ein hochgradig anpassbares IDE-Plugin zum Scannen und Korrigieren von unerwünschtem Code während der Eingabe — mit Hunderten von herunterladbaren Code-Transformationen und Migrationsrezepten (Regeln) sowie einer eingebauten Fähigkeit, eigenen Code zu erstellen. Mit Sensei können Entwickler fehlerhafte Codemuster während der Eingabe korrigieren, sodass sie Qualitätscode schneller bereitstellen und ihn letztendlich auf konsistente und standardisierte Weise für alle Teams und Projekte schreiben können.

Wie Sensei solche häufigen Java-Probleme behebt

Da Sensei es dir ermöglicht, deine eigenen Rezepte zu kreieren, haben wir ein Rezept erstellt, um den oben genannten Fehler zu korrigieren.

In diesem Beispiel wollen wir herausfinden, wo wir den Vergleichsoperator (==) im primitiven Box-Typ verwenden.

Ein Sensei-Rezept sieht so aus (in YAML):

Das oben Genannte kann während der Eingabe nach dem wiederkehrenden fehlerhaften Muster oder der gesamten Datei, dem konfigurierten Bereich und sogar der gesamten Codebasis suchen. Sobald das Muster gefunden wurde, besteht der nächste natürliche Schritt darin, es sofort korrigieren zu können, ohne online suchen zu müssen. Mit Sensei können Sie Korrekturen erstellen, mit denen Sie Code wie angegeben hinzufügen/bearbeiten/löschen können. Sie können sogar mehrere Fixes bereitstellen, wenn Sie dies für richtig halten, sodass Entwickler den für sie am besten geeigneten Fix auswählen können.

In unserem Beispiel wollen wir den Vergleich mit der Methode equals anstelle des Operators (==) neu schreiben.

Ein verfügbarer Fix wird wie folgt beschrieben:

So funktioniert's:

Einfache Implementierung von Standard-Codierungsrichtlinien

Das Java Gotchas Cookbook enthält 22 Rezepte, mit denen Sie häufige Fehler vermeiden und Ihren Code sauber und sicher halten können. Es erkennt die falsche oder unsichere Verwendung verschiedener Funktionen und APIs der Java-Sprache, z. B. Objektgleichheit, Ausnahmebehandlung, reguläre Ausdrücke und Sammlungen. Wenn Sie Sensei und dieses Kochbuch verwenden, können Sie von Anfang an besseren Code schreiben und sogar Ihre eigenen Rezepte erstellen, die zu Ihrem einzigartigen Team, Projekt oder Ihrer Organisation passen.

Dies ist nur ein Beispiel für die vielen Möglichkeiten, wie Sensei zur Standardisierung Ihrer Projekte eingesetzt werden kann. Du kannst immer nach Anti-Patterns oder bestimmten manuellen Codetransformationen Ausschau halten, auf die du häufig in Pull-Requests stößt oder wenn du selbst codest. Wenn du eine Reihe von Codierungsrichtlinien hast, die von Entwicklern oft übersehen werden, könntest du die Richtlinien in Rezepte umwandeln, sodass Entwickler genehmigte Codetransformationen mit Zuversicht anwenden können.

Installieren Sie Sensei jetzt und aktivieren Sie Java Gotchas Cookbook für ein produktives Entwicklungserlebnis. https://sensei.securecodewarrior.com/cookbooks/scw:java

*2021, Bundesstaat der Entwicklernation, https://www.developernation.net/developer-reports/de20

Inhaltsverzeichniss

PDF herunterladen
Ressource ansehen
Interessiert an mehr?

learn more

Secure Code Warrior ist für Ihr Unternehmen da, um Ihnen zu helfen, Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder jemand anderes sind, der sich mit Sicherheit befasst, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Eine Demo buchenHerunterladen
Teilen auf:
linkedin brandsSocialx logo
Ressourcen-Hub

Ressourcen für den Einstieg

Mehr Beiträge
Ressourcen-Hub

Ressourcen für den Einstieg

Mehr Beiträge