Wczoraj pracowałem nad projektem API Rails 5, który wykorzystuje bibliotekę act-as-taggable-on, aby pozwolić na rzeczy z tagami (np. Pytania na SE). Rails 5 jest teraz obsługiwany w wersji alfa. Obecnie jest PR, aby naprawić błąd oczekujący na połączenie w master; błąd spowodował, że moja gałąź funkcji zatrzymała się w połowie ukończenia - nie mogłem zaimplementować żadnej funkcji biblioteki, ponieważ ładowanie zostało przerwane.
Jako szybką poprawkę po prostu sklonowałem repozytorium, naprawiłem problem z tym samym kodem, który miał PR, i skierowałem mój Gemfile (plik kontroli wersji zależności) do mojego własnego rozwidlenia Github, aż do momentu, gdy poprawka ostatecznie zostanie ponownie scalona z master.
Miałem szczęście, że poprawka była prosta ( i że ktoś już to zrobił ), więc mogłem obejść ten problem. Ale co, jeśli ta biblioteka miała kluczowe znaczenie dla rozwoju mojej aplikacji? Co jeśli poprawka, która zatrzymywała mój rozwój, nie była szeroko rozpowszechnionym problemem dla innych osób , więc poprawka nie pojawiła się tak szybko, jak tym razem?
Wyobraź sobie, że ta funkcja musiała zostać ukończona przed opracowaniem innych funkcji zależnych - co robisz w tej sytuacji? Co jeśli, dla mnie, tagowanie było absolutnie kluczowe dla następnej frazy rozwoju, gdzie wszystko inne na nim polegało - ale zależność tagowania jest błędna w mojej konfiguracji? Co zrobić, gdy krytyczna funkcjonalność zależności utrudnia rozwój funkcji (a)?
I z pewnością walki na miecze na krzesłach biurowych przez wiele godzin lub dni nie są opcją ...