Actions
Amélioration #5353
ouvert[Class/Method/Famille] Le code généré radote
Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
09/02/2015
Echéance:
% réalisé:
0%
Temps estimé:
Wiki Détail:
Contrôle:
Description
Le code généré par Dynacase est très redondant, on peut trouver ce pattern :
$oAttr="<attributeName>";
$callMethod="::getLastTitle(<attributeName>,' )";
$ca=$this->getAttribute($oAttr);
if (! $ca) throw new Dcp\Exception(ErrorCode::getError('ATTR1212',$callMethod, $this->fromname));
if ($ca->inArray()) {
$this->completeArrayRow($ca->fieldSet->id);
$t=$this->getMultipleRawValues($oAttr);
foreach ($t as $k=>$v) {
$err.=$this->setValue($oAttr, $this->applyMethod($callMethod,'',$k),$k);
}
} else {
$err.=$this->setValue($oAttr, $this->applyMethod($callMethod));
}
répété des dizaines de fois, ce qui alourdit le parsing de la classe et la rend difficilement lisible. Deux choix :
- soit une closure exprimée en début de code généré et appelée en locale,
- soit l'ajout d'une fonction pour réaliser cette tâche directement dans la classe doc.
La seconde méthode est probablement meilleure car elle permet à un développeur tiers de faire "comme" le code généré.
Attention a proprement indenter le code généré (plus facile à lire en cas de problème).
Actions
#1
Mis à jour par Charles Bonnissent il y a environ 11 ans
- Sujet changé de [Class/Method/Famille] Code généré à [Class/Method/Famille] Le code généré radote
Actions