DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Java Zone»Création d’API Java plus intuitives avec option
    Java Zone

    Création d’API Java plus intuitives avec option

    novembre 4, 2021
    Création d'API Java plus intuitives avec option
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    La création d’API intuitives est une compétence très importante pour vous afin de réduire les risques de bogues et de rendre votre logiciel plus maintenable. Lorsque vous ne créez pas d’API intuitives, votre code devient sujet aux erreurs et les développeurs (vous y compris) peuvent abuser d’une API.

    Voyons un exemple d’API non intuitive.

    Exemple d’API non intuitive

    REMARQUE : je ne dis pas qu’il s’agit d’une API mal conçue. Il s’agit d’une ancienne API qui a été construite lorsque Java ne disposait pas de fonctionnalités et de ressources pour créer des API plus intuitives.

    Vous connaissez probablement le java.util.Map interface. Seriez-vous capable de dire, sans lire la Javadoc, si la méthode suivante peut retourner null?

    Et si c’est possible, qu’est-ce que ça veut dire ? Cela signifie-t-il que la clé spécifiée n’a pas été trouvée sur la carte ? Ou cela signifie-t-il que la valeur mappée à cette clé est null?

    Comme vous pouvez le voir, il est difficile de dire ce qu’est un null valeur signifie dans ce cas.

    Si vous voulez lire la Javadoc, vous pouvez le faire ici.

    Rendre votre API plus intuitive avec Optional

    Pour créer des API intuitives, vous devez réduire les possibilités, éliminer les ambiguïtés et rendre les choses évidentes. Et une façon de le faire est d’utiliser Optional lorsque null est une valeur de retour valide.

    Par exemple, au lieu de faire ce qui suit :

    public String getNullableValue() {
        if (someCondition()) {
            return "ok";
        } else {
            return null;
        }
    }

    Vous pourriez faire:

    public Optional<String> getNullableValue() {
        if (someCondition()) {
            return Optional.of("ok");
        } else {
            return Optional.empty();
        }
    }

    De cette façon, vous laissez expliciter à l’appelant que la méthode peut renvoyer un null valeur. L’appelant n’a même pas besoin de lire la Javadoc.

    De plus, le compilateur force l’appelant à gérer le null valeur lorsqu’il essaie de l’affecter à un String variable. Cela n’arriverait pas si la méthode pouvait revenir null. Ainsi, l’appelant pourrait oublier de vérifier si la valeur renvoyée est ou non null.

    String value = getNullableValue().orElse("default value");

    Ainsi, en plus de rendre votre API plus intuitive, Optional rend également le code moins sujet aux erreurs.

    Conclusion

    Optional est une fonctionnalité intéressante qui nous aide à écrire des API intuitives et des logiciels maintenables.

    Si vous vous posez des questions sur la dégradation des performances lors de l’utilisation Optional, j’ai écrit un article à ce sujet. Vous pouvez le trouver ici.

    Si tu veux aller plus loin Optional, vous pouvez consulter cet article qui contient plus de détails et de bonnes pratiques sur son utilisation, ou n’hésitez pas à me poser des questions.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.