héros bg sans séparateur
Blog

So verhindern Sie häufige Java-Fehler

Wandern Sie Neto
Publié le 02 février 2022
Dernière mise à jour le 9 mars 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

Consulter la ressource
Consulter la ressource

Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Réserver une démonstration
Partager sur :
marques LinkedInSocialLogo x
Auteur
Wandern Sie Neto
Publié le 02 février 2022

Partager sur :
marques LinkedInSocialLogo x

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

Consulter la ressource
Consulter la ressource

Veuillez remplir le formulaire ci-dessous pour télécharger le rapport.

Nous sollicitons votre autorisation pour vous envoyer des informations sur nos produits et/ou des sujets connexes liés au codage sécurisé. Nous traitons toujours vos données personnelles avec le plus grand soin et ne les vendons jamais à d'autres entreprises à des fins de marketing.

Soumettre
Icônes SCW
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer les cookies « Analytics ». Une fois que vous avez terminé, vous pouvez les désactiver à tout moment.

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

Veuillez consulter le webinaire.
Veuillez commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Consulter le rapportRéserver une démonstration
Télécharger le PDF
Consulter la ressource
Partager sur :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager sur :
marques LinkedInSocialLogo x
Auteur
Wandern Sie Neto
Publié le 02 février 2022

Partager sur :
marques LinkedInSocialLogo x

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

Table des matières

Télécharger le PDF
Consulter la ressource
Souhaitez-vous en savoir davantage ?

En savoir plus

Secure Code Warrior là pour aider votre entreprise à sécuriser le code tout au long du cycle de développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre entreprise à réduire les risques liés à un code non sécurisé.

Réserver une démonstrationTélécharger
Partager sur :
marques LinkedInSocialLogo x
Centre de ressources

Ressources pour débuter

Plus d'articles
Centre de ressources

Ressources pour débuter

Plus d'articles