Tak, absolutnie. Są to wyraźne oznaki, że osoba, która napisała ten kod, była niezadowolona z tego kodu i prawdopodobnie wtrącała się w niego, dopóki nie zadziałał. Możliwe, że nie zrozumieli prawdziwych problemów lub, co gorsza, zrozumieli je i byli zbyt leniwi, aby je naprawić.
Jest to jednak ostrzeżenie, że trzeba będzie wiele wysiłku, aby je naprawić i że takie poprawki będą wiązały się z ryzykiem.
W idealnym przypadku możesz dowiedzieć się, na czym polegał problem i rozwiązać go poprawnie. Na przykład:
Upłynął limit czasu, aby dać modułowi A trochę czasu na zrobienie czegoś. Jeśli nie będzie tak ustawiony, to się zepsuje.
To zdecydowanie sugeruje, że moduł A nie wskazuje poprawnie, kiedy jest gotowy do użycia lub kiedy zakończy przetwarzanie. Być może osoba, która to napisała, nie chciała zawracać głowy naprawą modułu A lub z jakiegoś powodu nie mogła. Wygląda to na katastrofę czekającą na nadejście katastrofy, ponieważ sugeruje, że szczęście zależy od czasu, a nie od właściwego sekwencjonowania. Gdybym to zobaczył, bardzo chciałbym to naprawić.
Nie zmieniaj tego. Zaufaj mi, zepsujesz wszystko.
To niewiele ci mówi. Zależy to od tego, co robi kod. Może to oznaczać, że ma coś, co wydaje się oczywistymi optymalizacjami, które z tego czy innego powodu faktycznie złamią kod. Na przykład może się zdarzyć, że pętla pozostawi zmienną o określonej wartości, od której zależy inny fragment kodu. Lub zmienną można przetestować w innym wątku, a zmiana kolejności aktualizacji zmiennych może uszkodzić ten inny kod.
Wiem, że używanie setTimeout nie jest dobrą praktyką, ale w tym przypadku musiałem go użyć.
To wygląda na łatwe. Powinieneś być w stanie zobaczyć, co setTimeout
się dzieje i być może znaleźć lepszy sposób, aby to zrobić.
To powiedziawszy, jeśli tego rodzaju poprawki są poza zakresem refaktora, są to oznaki, że próba refaktoryzacji wewnątrz tego kodu może znacznie zwiększyć zakres twojego wysiłku.
Przynajmniej przyjrzyj się kodowi, którego dotyczy problem, i sprawdź, czy możesz przynajmniej ulepszyć komentarz do tego stopnia, że lepiej wyjaśnia, na czym polega problem. To może uratować kolejną osobę przed stawieniem czoła tej samej tajemnicy, z którą się stykasz.