Blog

Wie man häufige Java-Fehler vermeidet

Wander Neto
Veröffentlicht Feb 02, 2022

Werden Sie ein produktiverer Java-Entwickler

Mit 9 Millionen Entwicklern weltweit* ist Java (Oracle Corporation) eine der beliebtesten Programmiersprachen der Welt. Viele Anwendungs-Frameworks 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 die Java Runtime Environment (JRE) unterstützen - eine Umgebung, in der alle Java-Programme laufen. Die von den Entwicklern geleiteten Gemeinschaften sind sehr aktiv, und die ausführliche Unterstützung, die neuen Programmierern zur Verfügung steht, trägt zur ständig wachsenden Beliebtheit der Sprache bei.

Da es Java schon seit langem gibt, haben die Communities Jahre damit verbracht, Standards, Tools und Coding Patterns zu entwickeln und häufige Fehler, mit denen Entwickler immer wieder konfrontiert werden, zu entschärfen. Alle diese von der Gemeinschaft geleiteten Initiativen haben ein gemeinsames Ziel - den Entwicklern zu helfen, bei der Entwicklung von Anwendungen mit Java so produktiv wie möglich zu sein. Wenn es jedoch darum geht, die Best Practices oder Patterns im Anwendungscode anzuwenden, liegt die Verantwortung bei den Entwicklern. Die Durchsetzung guter Praktiken ist sehr unterschiedlich und macht es daher schwierig, einen Standardansatz für eine Programmierpraxis zu finden, wenn die Meinungen innerhalb der Gemeinschaften sehr unterschiedlich sind. Die Entwickler greifen auf die Hilfe von Online-Communities zurück, die ihnen manchmal unbeabsichtigt unsichere Lösungen für ihre Kodierungsprobleme liefern können.

Um Entwicklern zu helfen, sichere Lösungen für häufige Java-Coding-Probleme zu implementieren, haben wir Sensei entwickelt - ein IntelliJ-Plugin, das schlechte Coding-Patterns nach einem von Ihnen oder Ihrer Organisation definierten Rezept (oder Regeln) in einer professionellen Umgebung korrigiert. Sensei ermöglicht es Entwicklern, häufige Java-Fehler (Gotchas) mit einem einzigen Klick zu identifizieren und zu korrigieren.

Lesen Sie weiter, um zu erfahren, wie Sensei die Produktivität von Entwicklern erhöht, indem es einige häufige 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 umrahmten Primitiven sollten mit der Gleichheitsmethode statt mit dem Referenzvergleichsoperator (==) verglichen werden, um unerwartete Ergebnisse zu vermeiden.

Ein Beispiel: Die Verwendung des Vergleichsoperators für Integer-Werte im Bereich von -128 bis 127 verhält sich (normalerweise) genauso wie die Gleichheitsmethode. Führen wir jedoch denselben Vergleich mit Werten außerhalb dieses Bereichs durch, werden die Ergebnisse unterschiedlich ausfallen. Das liegt daran, dass Java einen konstanten Pool für den genannten Bereich von Integer-Werten unterhält. Die Verwendung der equals-Methode führt immer zu den erwarteten Ergebnissen und ist daher der richtige Weg für den Vergleich.

In diesem Beispiel wird fälschlicherweise der Operator (==) zur Überprüfung der Gleichheit verwendet.

Das Ergebnis ist die folgende Ausgabe:

wahr

falsch

falsch

wahr

Die richtige Art zu vergleichen ist die Gleichheitsmethode.

Und dann wäre die Ausgabe:

wahr

falsch

wahr

falsch

Diese wohlbekannte bewährte Praxis gibt es schon seit geraumer Zeit, und doch wird sie oft falsch in Legacy-Code implementiert, der darauf wartet, zum unpassendsten Zeitpunkt sein hässliches Gesicht zu zeigen. Deshalb haben wir Rezepte (oder Regeln) entwickelt, die dabei helfen, solche unerwünschten Codierungsmuster lokal zu identifizieren und mit einem einzigen Klick unter Sensei zu korrigieren.

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 der Möglichkeit, eigene zu erstellen. Mit Sensei können Entwickler schlechte Codemuster während der Eingabe korrigieren, so dass sie qualitativ hochwertigen Code schneller liefern und ihn schließlich in Teams und Projekten auf konsistente und standardisierte Weise schreiben können.

Wie Sensei solche häufigen Java-Probleme behebt

Da Sie auf Sensei Ihre eigenen Rezepte erstellen können, haben wir ein Rezept erstellt, um den oben erwähnten Fehler zu korrigieren.

In diesem Beispiel wollen wir herausfinden, wo wir den Vergleichsoperator (==) in der Boxed Primitive Type verwenden.

Ein Sensei Rezept sieht wie folgt aus (in YAML):

Sie können nach dem wiederkehrenden Fehler suchen, während Sie tippen, oder die gesamte Datei, den konfigurierten Bereich und sogar die gesamte Codebasis durchsuchen. Sobald das Muster gefunden wurde, ist der nächste Schritt die Möglichkeit, es sofort zu beheben, ohne im Internet suchen zu müssen. Sensei ermöglicht es Ihnen, Korrekturen zu erstellen, die Code wie angegeben hinzufügen/ändern/löschen können. Sie können sogar mehrere Korrekturen bereitstellen, so dass die Entwickler je nach Bedarf die am besten geeignete Korrektur auswählen können.

In unserem Beispiel wollen wir den Vergleich umschreiben, indem wir die Gleichheitsmethode anstelle des Operators (==) verwenden.

Eine verfügbare Lösung wird wie folgt beschrieben:

Wie es funktioniert:

Standard-Codierungsrichtlinien auf einfache Weise implementieren

Java Gotchas Cookbook enthält 22 Rezepte, die Ihnen helfen, häufige Fehler zu vermeiden und Ihren Code sauber und sicher zu halten. Es erkennt die falsche oder unsichere Verwendung verschiedener Java-Sprachfunktionen und APIs, wie z. B. Objektgleichheit, Ausnahmebehandlung, reguläre Ausdrücke und Sammlungen. Mit Sensei und diesem Kochbuch können Sie von Anfang an besseren Code schreiben und sogar eigene Rezepte erstellen, die auf Ihr Team, Ihr Projekt oder Ihre Organisation zugeschnitten sind.

Dies ist nur ein Beispiel für die vielen Möglichkeiten, die Sensei bietet, um Ihre Projekte zu standardisieren. Sie können immer nach Anti-Patterns oder bestimmten manuellen Code-Transformationen Ausschau halten, auf die Sie häufig in Pull-Requests oder beim Coding selbst stoßen. Wenn Sie über eine Reihe von Codierungsrichtlinien verfügen, die von den Entwicklern häufig übersehen werden, können Sie diese Richtlinien in Rezepte umwandeln, so dass die Entwickler bewährte Codeumwandlungen sicher anwenden können.

Installieren Sie jetzt Sensei und aktivieren Sie das Java Gotchas Cookbook für eine produktive Entwicklungserfahrung. https://sensei.securecodewarrior.com/cookbooks/scw:java

*2021, Stand der Entwickler-Nation, https://www.developernation.net/developer-reports/de20

Ressource anzeigen
Ressource anzeigen

Interessiert an mehr?

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Demo buchen
Weitergeben:
Autor
Wander Neto
Veröffentlicht Feb 02, 2022

Weitergeben:

Werden Sie ein produktiverer Java-Entwickler

Mit 9 Millionen Entwicklern weltweit* ist Java (Oracle Corporation) eine der beliebtesten Programmiersprachen der Welt. Viele Anwendungs-Frameworks 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 die Java Runtime Environment (JRE) unterstützen - eine Umgebung, in der alle Java-Programme laufen. Die von den Entwicklern geleiteten Gemeinschaften sind sehr aktiv, und die ausführliche Unterstützung, die neuen Programmierern zur Verfügung steht, trägt zur ständig wachsenden Beliebtheit der Sprache bei.

Da es Java schon seit langem gibt, haben die Communities Jahre damit verbracht, Standards, Tools und Coding Patterns zu entwickeln und häufige Fehler, mit denen Entwickler immer wieder konfrontiert werden, zu entschärfen. Alle diese von der Gemeinschaft geleiteten Initiativen haben ein gemeinsames Ziel - den Entwicklern zu helfen, bei der Entwicklung von Anwendungen mit Java so produktiv wie möglich zu sein. Wenn es jedoch darum geht, die Best Practices oder Patterns im Anwendungscode anzuwenden, liegt die Verantwortung bei den Entwicklern. Die Durchsetzung guter Praktiken ist sehr unterschiedlich und macht es daher schwierig, einen Standardansatz für eine Programmierpraxis zu finden, wenn die Meinungen innerhalb der Gemeinschaften sehr unterschiedlich sind. Die Entwickler greifen auf die Hilfe von Online-Communities zurück, die ihnen manchmal unbeabsichtigt unsichere Lösungen für ihre Kodierungsprobleme liefern können.

Um Entwicklern zu helfen, sichere Lösungen für häufige Java-Coding-Probleme zu implementieren, haben wir Sensei entwickelt - ein IntelliJ-Plugin, das schlechte Coding-Patterns nach einem von Ihnen oder Ihrer Organisation definierten Rezept (oder Regeln) in einer professionellen Umgebung korrigiert. Sensei ermöglicht es Entwicklern, häufige Java-Fehler (Gotchas) mit einem einzigen Klick zu identifizieren und zu korrigieren.

Lesen Sie weiter, um zu erfahren, wie Sensei die Produktivität von Entwicklern erhöht, indem es einige häufige 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 umrahmten Primitiven sollten mit der Gleichheitsmethode statt mit dem Referenzvergleichsoperator (==) verglichen werden, um unerwartete Ergebnisse zu vermeiden.

Ein Beispiel: Die Verwendung des Vergleichsoperators für Integer-Werte im Bereich von -128 bis 127 verhält sich (normalerweise) genauso wie die Gleichheitsmethode. Führen wir jedoch denselben Vergleich mit Werten außerhalb dieses Bereichs durch, werden die Ergebnisse unterschiedlich ausfallen. Das liegt daran, dass Java einen konstanten Pool für den genannten Bereich von Integer-Werten unterhält. Die Verwendung der equals-Methode führt immer zu den erwarteten Ergebnissen und ist daher der richtige Weg für den Vergleich.

In diesem Beispiel wird fälschlicherweise der Operator (==) zur Überprüfung der Gleichheit verwendet.

Das Ergebnis ist die folgende Ausgabe:

wahr

falsch

falsch

wahr

Die richtige Art zu vergleichen ist die Gleichheitsmethode.

Und dann wäre die Ausgabe:

wahr

falsch

wahr

falsch

Diese wohlbekannte bewährte Praxis gibt es schon seit geraumer Zeit, und doch wird sie oft falsch in Legacy-Code implementiert, der darauf wartet, zum unpassendsten Zeitpunkt sein hässliches Gesicht zu zeigen. Deshalb haben wir Rezepte (oder Regeln) entwickelt, die dabei helfen, solche unerwünschten Codierungsmuster lokal zu identifizieren und mit einem einzigen Klick unter Sensei zu korrigieren.

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 der Möglichkeit, eigene zu erstellen. Mit Sensei können Entwickler schlechte Codemuster während der Eingabe korrigieren, so dass sie qualitativ hochwertigen Code schneller liefern und ihn schließlich in Teams und Projekten auf konsistente und standardisierte Weise schreiben können.

Wie Sensei solche häufigen Java-Probleme behebt

Da Sie auf Sensei Ihre eigenen Rezepte erstellen können, haben wir ein Rezept erstellt, um den oben erwähnten Fehler zu korrigieren.

In diesem Beispiel wollen wir herausfinden, wo wir den Vergleichsoperator (==) in der Boxed Primitive Type verwenden.

Ein Sensei Rezept sieht wie folgt aus (in YAML):

Sie können nach dem wiederkehrenden Fehler suchen, während Sie tippen, oder die gesamte Datei, den konfigurierten Bereich und sogar die gesamte Codebasis durchsuchen. Sobald das Muster gefunden wurde, ist der nächste Schritt die Möglichkeit, es sofort zu beheben, ohne im Internet suchen zu müssen. Sensei ermöglicht es Ihnen, Korrekturen zu erstellen, die Code wie angegeben hinzufügen/ändern/löschen können. Sie können sogar mehrere Korrekturen bereitstellen, so dass die Entwickler je nach Bedarf die am besten geeignete Korrektur auswählen können.

In unserem Beispiel wollen wir den Vergleich umschreiben, indem wir die Gleichheitsmethode anstelle des Operators (==) verwenden.

Eine verfügbare Lösung wird wie folgt beschrieben:

Wie es funktioniert:

Standard-Codierungsrichtlinien auf einfache Weise implementieren

Java Gotchas Cookbook enthält 22 Rezepte, die Ihnen helfen, häufige Fehler zu vermeiden und Ihren Code sauber und sicher zu halten. Es erkennt die falsche oder unsichere Verwendung verschiedener Java-Sprachfunktionen und APIs, wie z. B. Objektgleichheit, Ausnahmebehandlung, reguläre Ausdrücke und Sammlungen. Mit Sensei und diesem Kochbuch können Sie von Anfang an besseren Code schreiben und sogar eigene Rezepte erstellen, die auf Ihr Team, Ihr Projekt oder Ihre Organisation zugeschnitten sind.

Dies ist nur ein Beispiel für die vielen Möglichkeiten, die Sensei bietet, um Ihre Projekte zu standardisieren. Sie können immer nach Anti-Patterns oder bestimmten manuellen Code-Transformationen Ausschau halten, auf die Sie häufig in Pull-Requests oder beim Coding selbst stoßen. Wenn Sie über eine Reihe von Codierungsrichtlinien verfügen, die von den Entwicklern häufig übersehen werden, können Sie diese Richtlinien in Rezepte umwandeln, so dass die Entwickler bewährte Codeumwandlungen sicher anwenden können.

Installieren Sie jetzt Sensei und aktivieren Sie das Java Gotchas Cookbook für eine produktive Entwicklungserfahrung. https://sensei.securecodewarrior.com/cookbooks/scw:java

*2021, Stand der Entwickler-Nation, https://www.developernation.net/developer-reports/de20

Ressource anzeigen
Ressource anzeigen

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

Wir bitten Sie um Ihre Erlaubnis, Ihnen Informationen über unsere Produkte und/oder verwandte Themen der sicheren Codierung zuzusenden. Wir werden Ihre persönlichen Daten immer mit äußerster Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Senden
Um das Formular abzuschicken, aktivieren Sie bitte "Analytics"-Cookies. Sie können die Cookies wieder deaktivieren, sobald Sie fertig sind.

Werden Sie ein produktiverer Java-Entwickler

Mit 9 Millionen Entwicklern weltweit* ist Java (Oracle Corporation) eine der beliebtesten Programmiersprachen der Welt. Viele Anwendungs-Frameworks 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 die Java Runtime Environment (JRE) unterstützen - eine Umgebung, in der alle Java-Programme laufen. Die von den Entwicklern geleiteten Gemeinschaften sind sehr aktiv, und die ausführliche Unterstützung, die neuen Programmierern zur Verfügung steht, trägt zur ständig wachsenden Beliebtheit der Sprache bei.

Da es Java schon seit langem gibt, haben die Communities Jahre damit verbracht, Standards, Tools und Coding Patterns zu entwickeln und häufige Fehler, mit denen Entwickler immer wieder konfrontiert werden, zu entschärfen. Alle diese von der Gemeinschaft geleiteten Initiativen haben ein gemeinsames Ziel - den Entwicklern zu helfen, bei der Entwicklung von Anwendungen mit Java so produktiv wie möglich zu sein. Wenn es jedoch darum geht, die Best Practices oder Patterns im Anwendungscode anzuwenden, liegt die Verantwortung bei den Entwicklern. Die Durchsetzung guter Praktiken ist sehr unterschiedlich und macht es daher schwierig, einen Standardansatz für eine Programmierpraxis zu finden, wenn die Meinungen innerhalb der Gemeinschaften sehr unterschiedlich sind. Die Entwickler greifen auf die Hilfe von Online-Communities zurück, die ihnen manchmal unbeabsichtigt unsichere Lösungen für ihre Kodierungsprobleme liefern können.

Um Entwicklern zu helfen, sichere Lösungen für häufige Java-Coding-Probleme zu implementieren, haben wir Sensei entwickelt - ein IntelliJ-Plugin, das schlechte Coding-Patterns nach einem von Ihnen oder Ihrer Organisation definierten Rezept (oder Regeln) in einer professionellen Umgebung korrigiert. Sensei ermöglicht es Entwicklern, häufige Java-Fehler (Gotchas) mit einem einzigen Klick zu identifizieren und zu korrigieren.

Lesen Sie weiter, um zu erfahren, wie Sensei die Produktivität von Entwicklern erhöht, indem es einige häufige 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 umrahmten Primitiven sollten mit der Gleichheitsmethode statt mit dem Referenzvergleichsoperator (==) verglichen werden, um unerwartete Ergebnisse zu vermeiden.

Ein Beispiel: Die Verwendung des Vergleichsoperators für Integer-Werte im Bereich von -128 bis 127 verhält sich (normalerweise) genauso wie die Gleichheitsmethode. Führen wir jedoch denselben Vergleich mit Werten außerhalb dieses Bereichs durch, werden die Ergebnisse unterschiedlich ausfallen. Das liegt daran, dass Java einen konstanten Pool für den genannten Bereich von Integer-Werten unterhält. Die Verwendung der equals-Methode führt immer zu den erwarteten Ergebnissen und ist daher der richtige Weg für den Vergleich.

In diesem Beispiel wird fälschlicherweise der Operator (==) zur Überprüfung der Gleichheit verwendet.

Das Ergebnis ist die folgende Ausgabe:

wahr

falsch

falsch

wahr

Die richtige Art zu vergleichen ist die Gleichheitsmethode.

Und dann wäre die Ausgabe:

wahr

falsch

wahr

falsch

Diese wohlbekannte bewährte Praxis gibt es schon seit geraumer Zeit, und doch wird sie oft falsch in Legacy-Code implementiert, der darauf wartet, zum unpassendsten Zeitpunkt sein hässliches Gesicht zu zeigen. Deshalb haben wir Rezepte (oder Regeln) entwickelt, die dabei helfen, solche unerwünschten Codierungsmuster lokal zu identifizieren und mit einem einzigen Klick unter Sensei zu korrigieren.

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 der Möglichkeit, eigene zu erstellen. Mit Sensei können Entwickler schlechte Codemuster während der Eingabe korrigieren, so dass sie qualitativ hochwertigen Code schneller liefern und ihn schließlich in Teams und Projekten auf konsistente und standardisierte Weise schreiben können.

Wie Sensei solche häufigen Java-Probleme behebt

Da Sie auf Sensei Ihre eigenen Rezepte erstellen können, haben wir ein Rezept erstellt, um den oben erwähnten Fehler zu korrigieren.

In diesem Beispiel wollen wir herausfinden, wo wir den Vergleichsoperator (==) in der Boxed Primitive Type verwenden.

Ein Sensei Rezept sieht wie folgt aus (in YAML):

Sie können nach dem wiederkehrenden Fehler suchen, während Sie tippen, oder die gesamte Datei, den konfigurierten Bereich und sogar die gesamte Codebasis durchsuchen. Sobald das Muster gefunden wurde, ist der nächste Schritt die Möglichkeit, es sofort zu beheben, ohne im Internet suchen zu müssen. Sensei ermöglicht es Ihnen, Korrekturen zu erstellen, die Code wie angegeben hinzufügen/ändern/löschen können. Sie können sogar mehrere Korrekturen bereitstellen, so dass die Entwickler je nach Bedarf die am besten geeignete Korrektur auswählen können.

In unserem Beispiel wollen wir den Vergleich umschreiben, indem wir die Gleichheitsmethode anstelle des Operators (==) verwenden.

Eine verfügbare Lösung wird wie folgt beschrieben:

Wie es funktioniert:

Standard-Codierungsrichtlinien auf einfache Weise implementieren

Java Gotchas Cookbook enthält 22 Rezepte, die Ihnen helfen, häufige Fehler zu vermeiden und Ihren Code sauber und sicher zu halten. Es erkennt die falsche oder unsichere Verwendung verschiedener Java-Sprachfunktionen und APIs, wie z. B. Objektgleichheit, Ausnahmebehandlung, reguläre Ausdrücke und Sammlungen. Mit Sensei und diesem Kochbuch können Sie von Anfang an besseren Code schreiben und sogar eigene Rezepte erstellen, die auf Ihr Team, Ihr Projekt oder Ihre Organisation zugeschnitten sind.

Dies ist nur ein Beispiel für die vielen Möglichkeiten, die Sensei bietet, um Ihre Projekte zu standardisieren. Sie können immer nach Anti-Patterns oder bestimmten manuellen Code-Transformationen Ausschau halten, auf die Sie häufig in Pull-Requests oder beim Coding selbst stoßen. Wenn Sie über eine Reihe von Codierungsrichtlinien verfügen, die von den Entwicklern häufig übersehen werden, können Sie diese Richtlinien in Rezepte umwandeln, so dass die Entwickler bewährte Codeumwandlungen sicher anwenden können.

Installieren Sie jetzt Sensei und aktivieren Sie das Java Gotchas Cookbook für eine produktive Entwicklungserfahrung. https://sensei.securecodewarrior.com/cookbooks/scw:java

*2021, Stand der Entwickler-Nation, https://www.developernation.net/developer-reports/de20

Auf Ressource zugreifen

Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht ansehenDemo buchen
PDF herunterladen
Ressource anzeigen
Weitergeben:
Interessiert an mehr?

Weitergeben:
Autor
Wander Neto
Veröffentlicht Feb 02, 2022

Weitergeben:

Werden Sie ein produktiverer Java-Entwickler

Mit 9 Millionen Entwicklern weltweit* ist Java (Oracle Corporation) eine der beliebtesten Programmiersprachen der Welt. Viele Anwendungs-Frameworks 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 die Java Runtime Environment (JRE) unterstützen - eine Umgebung, in der alle Java-Programme laufen. Die von den Entwicklern geleiteten Gemeinschaften sind sehr aktiv, und die ausführliche Unterstützung, die neuen Programmierern zur Verfügung steht, trägt zur ständig wachsenden Beliebtheit der Sprache bei.

Da es Java schon seit langem gibt, haben die Communities Jahre damit verbracht, Standards, Tools und Coding Patterns zu entwickeln und häufige Fehler, mit denen Entwickler immer wieder konfrontiert werden, zu entschärfen. Alle diese von der Gemeinschaft geleiteten Initiativen haben ein gemeinsames Ziel - den Entwicklern zu helfen, bei der Entwicklung von Anwendungen mit Java so produktiv wie möglich zu sein. Wenn es jedoch darum geht, die Best Practices oder Patterns im Anwendungscode anzuwenden, liegt die Verantwortung bei den Entwicklern. Die Durchsetzung guter Praktiken ist sehr unterschiedlich und macht es daher schwierig, einen Standardansatz für eine Programmierpraxis zu finden, wenn die Meinungen innerhalb der Gemeinschaften sehr unterschiedlich sind. Die Entwickler greifen auf die Hilfe von Online-Communities zurück, die ihnen manchmal unbeabsichtigt unsichere Lösungen für ihre Kodierungsprobleme liefern können.

Um Entwicklern zu helfen, sichere Lösungen für häufige Java-Coding-Probleme zu implementieren, haben wir Sensei entwickelt - ein IntelliJ-Plugin, das schlechte Coding-Patterns nach einem von Ihnen oder Ihrer Organisation definierten Rezept (oder Regeln) in einer professionellen Umgebung korrigiert. Sensei ermöglicht es Entwicklern, häufige Java-Fehler (Gotchas) mit einem einzigen Klick zu identifizieren und zu korrigieren.

Lesen Sie weiter, um zu erfahren, wie Sensei die Produktivität von Entwicklern erhöht, indem es einige häufige 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 umrahmten Primitiven sollten mit der Gleichheitsmethode statt mit dem Referenzvergleichsoperator (==) verglichen werden, um unerwartete Ergebnisse zu vermeiden.

Ein Beispiel: Die Verwendung des Vergleichsoperators für Integer-Werte im Bereich von -128 bis 127 verhält sich (normalerweise) genauso wie die Gleichheitsmethode. Führen wir jedoch denselben Vergleich mit Werten außerhalb dieses Bereichs durch, werden die Ergebnisse unterschiedlich ausfallen. Das liegt daran, dass Java einen konstanten Pool für den genannten Bereich von Integer-Werten unterhält. Die Verwendung der equals-Methode führt immer zu den erwarteten Ergebnissen und ist daher der richtige Weg für den Vergleich.

In diesem Beispiel wird fälschlicherweise der Operator (==) zur Überprüfung der Gleichheit verwendet.

Das Ergebnis ist die folgende Ausgabe:

wahr

falsch

falsch

wahr

Die richtige Art zu vergleichen ist die Gleichheitsmethode.

Und dann wäre die Ausgabe:

wahr

falsch

wahr

falsch

Diese wohlbekannte bewährte Praxis gibt es schon seit geraumer Zeit, und doch wird sie oft falsch in Legacy-Code implementiert, der darauf wartet, zum unpassendsten Zeitpunkt sein hässliches Gesicht zu zeigen. Deshalb haben wir Rezepte (oder Regeln) entwickelt, die dabei helfen, solche unerwünschten Codierungsmuster lokal zu identifizieren und mit einem einzigen Klick unter Sensei zu korrigieren.

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 der Möglichkeit, eigene zu erstellen. Mit Sensei können Entwickler schlechte Codemuster während der Eingabe korrigieren, so dass sie qualitativ hochwertigen Code schneller liefern und ihn schließlich in Teams und Projekten auf konsistente und standardisierte Weise schreiben können.

Wie Sensei solche häufigen Java-Probleme behebt

Da Sie auf Sensei Ihre eigenen Rezepte erstellen können, haben wir ein Rezept erstellt, um den oben erwähnten Fehler zu korrigieren.

In diesem Beispiel wollen wir herausfinden, wo wir den Vergleichsoperator (==) in der Boxed Primitive Type verwenden.

Ein Sensei Rezept sieht wie folgt aus (in YAML):

Sie können nach dem wiederkehrenden Fehler suchen, während Sie tippen, oder die gesamte Datei, den konfigurierten Bereich und sogar die gesamte Codebasis durchsuchen. Sobald das Muster gefunden wurde, ist der nächste Schritt die Möglichkeit, es sofort zu beheben, ohne im Internet suchen zu müssen. Sensei ermöglicht es Ihnen, Korrekturen zu erstellen, die Code wie angegeben hinzufügen/ändern/löschen können. Sie können sogar mehrere Korrekturen bereitstellen, so dass die Entwickler je nach Bedarf die am besten geeignete Korrektur auswählen können.

In unserem Beispiel wollen wir den Vergleich umschreiben, indem wir die Gleichheitsmethode anstelle des Operators (==) verwenden.

Eine verfügbare Lösung wird wie folgt beschrieben:

Wie es funktioniert:

Standard-Codierungsrichtlinien auf einfache Weise implementieren

Java Gotchas Cookbook enthält 22 Rezepte, die Ihnen helfen, häufige Fehler zu vermeiden und Ihren Code sauber und sicher zu halten. Es erkennt die falsche oder unsichere Verwendung verschiedener Java-Sprachfunktionen und APIs, wie z. B. Objektgleichheit, Ausnahmebehandlung, reguläre Ausdrücke und Sammlungen. Mit Sensei und diesem Kochbuch können Sie von Anfang an besseren Code schreiben und sogar eigene Rezepte erstellen, die auf Ihr Team, Ihr Projekt oder Ihre Organisation zugeschnitten sind.

Dies ist nur ein Beispiel für die vielen Möglichkeiten, die Sensei bietet, um Ihre Projekte zu standardisieren. Sie können immer nach Anti-Patterns oder bestimmten manuellen Code-Transformationen Ausschau halten, auf die Sie häufig in Pull-Requests oder beim Coding selbst stoßen. Wenn Sie über eine Reihe von Codierungsrichtlinien verfügen, die von den Entwicklern häufig übersehen werden, können Sie diese Richtlinien in Rezepte umwandeln, so dass die Entwickler bewährte Codeumwandlungen sicher anwenden können.

Installieren Sie jetzt Sensei und aktivieren Sie das Java Gotchas Cookbook für eine produktive Entwicklungserfahrung. https://sensei.securecodewarrior.com/cookbooks/scw:java

*2021, Stand der Entwickler-Nation, https://www.developernation.net/developer-reports/de20

Inhaltsübersicht

PDF herunterladen
Ressource anzeigen
Interessiert an mehr?

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Demo buchenHerunterladen
Weitergeben:
Ressourcendrehscheibe

Ressourcen für den Einstieg

Mehr Beiträge
Ressourcendrehscheibe

Ressourcen für den Einstieg

Mehr Beiträge