Pracuję nad projektem wykorzystującym wiele bibliotek Java o otwartym kodzie źródłowym. Kiedy aktualizacje do tych bibliotek wyjdzie, mamy tendencję do naśladowania konserwatywną strategię:Jak zdecydujesz, kiedy uaktualnić bibliotekę w projekcie?
- jeśli coś nie jest zepsute, nie naprawiaj go
- jeśli nie posiada nowe funkcje chcemy zignorować
Stosujemy tę strategię, ponieważ zazwyczaj nie mamy czasu, aby umieścić nową bibliotekę i dokładnie przetestować ogólną aplikację. (Podobnie jak wiele innych zespołów programistycznych, jesteśmy zawsze w tyle za harmonogramem funkcji, które obiecaliśmy kilka miesięcy temu.)
Ale czasami zastanawiam się, czy ta strategia jest mądra, biorąc pod uwagę, że niektóre ulepszenia wydajności i duża liczba poprawek zazwyczaj pochodzą z biblioteki aktualizacje. ("Kto wie, może rzeczy będą działać lepiej w sposób, jakiego nie przewidujemy ...")
Jakich kryteriów używasz przy podejmowaniu tego typu decyzji w swoim projekcie?
Problem z # 1 polega na tym, że możesz nie wiedzieć, że coś się zepsuło i że musisz to naprawić (szczególnie w przypadku problemów z bezpieczeństwem). –