Wie man häufige Java-Fehler vermeidet
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
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 buchenWerden 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
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
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 buchenWerden 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
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 buchenHerunterladenRessourcen für den Einstieg
Benchmarking von Sicherheitskompetenzen: Optimierung von Secure-by-Design im Unternehmen
Die Secure-by-Design-Bewegung ist die Zukunft der sicheren Softwareentwicklung. Erfahren Sie mehr über die wichtigsten Elemente, die Unternehmen berücksichtigen müssen, wenn sie über eine Secure-by-Design-Initiative nachdenken.
DigitalOcean verringert Sicherheitsverschuldung mit Secure Code Warrior
DigitalOceans Einsatz von Secure Code Warrior hat die Sicherheitsverschuldung deutlich reduziert, so dass sich die Teams stärker auf Innovation und Produktivität konzentrieren können. Die verbesserte Sicherheit hat die Produktqualität und den Wettbewerbsvorteil des Unternehmens gestärkt. Mit Blick auf die Zukunft wird der SCW Trust Score dem Unternehmen helfen, seine Sicherheitspraktiken weiter zu verbessern und Innovationen voranzutreiben.
Ressourcen für den Einstieg
Trust Score zeigt den Wert von Secure-by-Design-Upskilling-Initiativen
Unsere Forschung hat gezeigt, dass Schulungen für sicheren Code funktionieren. Trust Score verwendet einen Algorithmus, der auf mehr als 20 Millionen Lerndaten aus der Arbeit von mehr als 250.000 Lernenden in über 600 Organisationen basiert, und zeigt, wie effektiv die Initiative ist, um Schwachstellen zu beseitigen und wie man sie noch effektiver gestalten kann.
Reaktive versus präventive Sicherheit: Prävention ist das bessere Heilmittel
Der Gedanke, Legacy-Code und -Systeme zur gleichen Zeit wie neuere Anwendungen mit präventiver Sicherheit auszustatten, kann entmutigend erscheinen, aber ein Secure-by-Design-Ansatz, der durch die Weiterbildung von Entwicklern durchgesetzt wird, kann die besten Sicherheitsverfahren auf diese Systeme anwenden. Dies ist für viele Unternehmen die beste Chance, ihre Sicherheitslage zu verbessern.
Die Vorteile eines Benchmarking der Sicherheitskompetenzen von Entwicklern
Der zunehmende Fokus auf sicheren Code und Secure-by-Design-Prinzipien erfordert, dass Entwickler von Beginn des SDLC an in Cybersicherheit geschult werden, wobei Tools wie Secure Code Warrior's Trust Score dabei helfen, ihre Fortschritte zu messen und zu verbessern.
Wesentlicher Erfolg für Enterprise Secure-by-Design-Initiativen
Unser jüngstes Forschungspapier „Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise“ ist das Ergebnis einer umfassenden Analyse echter Secure-by-Design-Initiativen auf Unternehmensebene und der Ableitung von Best-Practice-Ansätzen auf Grundlage datengesteuerter Erkenntnisse.