2017-04-05 1 views
1

Je regarde ce code que quelqu'un d'autre a écrit. Cela me semble être une mauvaise odeur de code. Quelle pourrait être une raison valable pour copier une référence à angulaire sous $ rootScope?La valeur de rootScope.angular est-elle une odeur de code?

$rootScope._ = $window._; 
    $rootScope.angular = $window.angular; 
+2

cela ressemble à quelqu'un soit en essayant de changer les comportements de angulaires d'une manière ou d'essayer de faire quelque chose qui n'a pas été conçue nativement pour faire angulaire, et dans les deux cas, je ne voudrais pas faire confiance au code. Franchement, je suis d'avis que ** toute ** utilisation de $ rootScope est probablement un raccourci avec une solution plus solide disponible. – Claies

Répondre

1

En règle générale, il est généralement mauvaise pour affecter quoi que ce soit à $rootScope dans AngularJS. C'est comme assigner une variable globale dans la plupart des langues - quand vous vous trouvez en train de le faire, vous devriez probablement arrêter de penser s'il y a une autre façon de résoudre votre problème. Ils ont tendance à rendre le code désordonné et impossible à suivre.

Ce d'autre part ... c'est juste supplémentaire bizarre, et est très certainement une mauvaise odeur de code. Je ne vois pas une seule valide raison pour laquelle vous jeter un déjà globalement accessible sur la variable $rootScope, en particulier se jetant sur angular$rootScope.