Bonjour,
Je viens d'intégrer une nouvelle équipe et découvre aussi plein de projets, jusque là, tout va bien. En regardant d'un peu plus près le code, je m'aperçois qu'il est truffé de code smells (méthodes d'extension qui font du business ou mieux encore, une Func<.,.> qui embarque un paramètre au niveau de l'appelant et qui traverse les couches pour être exécutées 20.000 lieues sous les mers !) et j'en passe...
Et là, je tombe sur un service WCF pas tout à fait comme je les connais. Les clients ne font jamais référence au service WCF (référence de service) mais passent par une couche "contract" et toute la partie générée par le service doit être codée à la main (base.Channel...) à chaque fois qu'on implémente une méthode. De même, la sérialisation XML (normalement automatique) a été réécrite "parce qu'elle ne supporte pas une trop grand profondeur" m'a-t-on dit. En fait, la structure des objets transférée est tellement gloubiboulguesque (imaginez, des inner classes dans des classes qui contiennent elles-mêmes d'autres inner classes...) qu'à priori la sérialisation "explose" ou "fait n'importe quoi" (le discours change en fonction de mes interlocuteurs).
Bref, pour schématiser, on a un objet qui ressemble à ça :
Et donc, je voudrais avoir jusqu'à quel niveau d'imbrication la sérialisation XML fonctionne ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class Main { class Inner1 { class Inner2 { class Inner3 { .... } } } }
Voyant l'état du code, le niveau de certains membres de l'équipe et le fait que personne ne connaisse le livre "Coder Proprement", vous comprendrez que j'émets quelques doutes vis-à-vis des explications qui me sont données. C'est donc pour ça que je vous pose la question aujourd'hui !
Merci d'avances pour vos réponses !
Partager