a- N'est-on pas dans un cas de C++ sans exceptions (C++ embedded ou avec options de compilations qui vont bien, voire en C simplement) ?Citation:
Envoyé par Caine
b- Dans un environnement pur "itératif" (sans déroutements implicites, je veux dire), c'est (était) un bon moyen d'obtenir une libération déterministe de ressources (si on ne dispose d'aucun objet automatiquement libéré en fin de portée)
Sinon, c'est plus stylistique qu'autre chose.
c- Certes, mais une simple fonction C++ (c'est important. Nous sommes ici en C++) qui fait un simple new (implicitement ou explicitement) est par défaut non SESE. Ces traitements de preuves automatiques vont alors avoir bien des difficultés. Si ils résistent aux new, ils devraient être capables de mieux résister au non SESE.
d- Perso, cela me ralenti plus qu'autre chose. Cela me fait chercher où ça commence, où c'est modifié et où c'est exploité (hors condition de bouclage, c'est rarement le cas sauf le jour où c'est exploité...).Citation:
Envoyé par tut
Mais il est vrai que c'est plus le fait d'une fonction trop longue, que d'un SESE.
e- D'un point de vue C++, c'est ignorer le fait que les exceptions changent la donne, et qu'elles ne sont pas toujours explicites.
Et comme je le disais, je trouve que la règle : "fonction simple" est 100 fois plus importante. Hors ressources gérées à la C, c'est le seul truc qui pourrait me faire considérer le SESE.
Or je privilégie (dans la mesure du possible) la fonction simple, fonction dans laquelle le SESE n'a plus aucune impact sur l'aide à la compréhension.
f- Oui et non. Si le code est simple, le SESE n'aide en rien à mieux comprendre la fonction. Or c'est un argument fer de lance des règles de qualité pro-SESE, j'ai bien l'impression. (Plus que la gestion des ressources).Citation:
Envoyé par Loïc
Les personnes qui n'y ont pas réfléchi et à qui j'en parle, vont plus souvent me parler de compréhension (ou maintenabilité, c'est un combat proche) de la fonction que gestion des ressources.