CodeSOD : Le Getter Setter Get... Note

CodeSOD : Le Getter Setter Getter

Le code Java fourni commence par une méthode getExtractedDataMap qui appelle une méthode setExtractedDataToMap. C'est déroutant car les conventions Java dictent que les getters récupèrent des valeurs et les setters les modifient, ce qui rend un getter qui appelle un setter peu conventionnel. La méthode setExtractedDataToMap convertit un objet PayloadDto en une Map. La méthode getExtractedDataMap agit alors simplement comme un intermédiaire inutile. Le problème principal est qu'il s'agit de deux méthodes mal nommées où une seule méthode bien nommée suffirait.Un problème plus important est la conversion d'un objet Java en une Map, ce qui est une odeur de code indiquant un inconfort avec les principes orientés objet. Cette conversion n'est pas justifiée à des fins de sérialisation, car Java dispose de sérialiseurs intégrés qui gèrent cela de manière transparente. Les DTO eux-mêmes sont conçus pour une sérialisation facile des données. L'auteur exprime une confusion quant à l'objectif de ce code, faisant écho au sentiment du développeur qui l'a découvert. Le développeur d'origine a également renoncé à essayer de comprendre le flux de travail pour lequel ce code était destiné.