przypuszczalnie ten, kto to napisał też doświadczenie ma niewielkie (chyba, że to chwilowe zaćmienie umysłu albo hack, którego ktoś zapomniał usunąć czy dodać komentarza TODO dla potomnych - czasem nawet dobrzy programiści piszą zły kod - ale jeśli takich kwiatków jest więcej, to coś tu nie gra)
niestety takich 'kwiatow' jest wiecej. Ja rozumiem ze jest to maly modul, ale tutaj nie ma zadnych serwisow/fabryk, zeby miec jedna instancje obiektu i do niej sie odwolowyac, jesli potrzebujemy jakiejs funkcji, a nie $scope.$parent(n) razy, zeby dostac sie do glownego kontrollera.
Jest takze mieszanie kontrollerow w template i w dyrektywach, ja przywyklem do pisania isolate scope, dzieki czemu w kontrolerze Y mamy takie myczki jak $scope.$parent.$parent.$index. Pomijajac, to ze nie wiedziec czemu ktos ( celowo ? ) napisal funkcje przypisujac do zmiennej zamiast do $scope, zeby pewnie wymusic prywatnosc metod, ale ta funkcja jest bardzo wazna i teraz nawet za cholere sie do niej nie dostane przez magiczne $parent(n).
Jak na angulara to uwazam ze jest tam za duzo problemow ktore moga istniec w jQuery, ale to jest Angular, no pany. Pomyslow to mam bardzo duzo, ale musialbym to przerobic z kims kto to pisal, zeby sie cos nagle nie je*lo ze tak powiem.
Powiedzcie mi, czy ten kod nie powinien przejsc refactoring skoro tak wyglada? Ja mam dopiero 2 msc doswiadczenia, ale takie podstawowe rzeczy to wiem.
Generalnie w angularze jest coś takiego jak $rootScope, jeśli ktoś chce robić zmienne globalne.
Ja nawet tego staram sie nie praktykowac, musialby to byc ARCY MEGA wazny obiekt, zebym go tam umiescil, ale stan obiektu jakiegos elementu trzymalbym w service, a tutaj tego nie ma i tez sie zle czyta ten kod potem.
To też, chociaż generalnie drobny refactoring można robić też przy pisaniu nowych rzeczy, mimochodem (oczywiście wtedy ryzykujesz, że coś zepsujesz - dlatego do refaktoru dobrze mieć napisane testy).
Tak dodalem nowy ficzer z tym okropnym $scope.$paren(n) do 3 bo boje sie ze jak cos rusze inaczej to pierdyknie gdzie indziej, a testow tego modulu chyba nie ma..
A tak na poważnie to zgłoś, dobry zespół powinien być merytokratyczny, nie ważne ile masz doświadczenia, ważne, że mówisz z sensem
pracuje dopiero 2 miesiace i jest mi nie ukrywam troche glupio mowic, ze cos mi nie pasuje. Nie znam historii tej aplikacji, moze byla pisana kiedys jak sie uczyli, a teraz juz jest inaczej, ale tak czy inaczej stary kod (przynajmniej takiej jakosci) powinno sie poprawic moim zdaniem. Bo okej, ja sie polapalem, ale sami powiedzcie, jak to wyglada? Z tym opisalem co dalem wyzej.