Nie jestem pewien, skąd bierzesz to, że interfejsy mogą ulec zmianie do wersji 1.0. Tak było w przypadku Kolekcji Google, poprzednika Guavy, ale miało to wydanie 1.0 i jest teraz częścią Guava. Ponadto nic, co było częścią Kolekcji Google, nie zostanie zmienione w sposób mogący złamać kod.
Sam Guava nawet nie używa systemu wydania z pojęciem "1.0". To tylko does releases, oznaczone "r05", "r06" i tak dalej. Wszystkie interfejsy API w Guava są skutecznie zamrożone, chyba że są oznaczone adnotacją @Beta. Jeśli @Beta
dotyczy klasy lub interfejsu, wszystko w tej klasie może ulec zmianie. Jeśli klasa nie jest z nią adnotowana, ale niektóre metody są w klasie, te specyficzne metody mogą ulec zmianie.
Należy pamiętać, że nawet w przypadku interfejsów API @Beta
, zapewniona przez nie funkcja najprawdopodobniej nie zostanie całkowicie usunięta ... co najwyżej prawdopodobnie po prostu zmieni sposób dostarczania tej funkcji. Ponadto uważam, że wycofują oryginalną formę interfejsu API @Beta
, którą zmienili na 1 wydanie, zanim całkowicie go usunęli, dając czas na sprawdzenie, czy została ona zmieniona i zaktualizowana do nowej wersji tego interfejsu API. @Beta
również nie oznacza, że klasa lub metoda nie jest dobrze przetestowana lub nadaje się do użytku produkcyjnego.
Wreszcie, nie powinno to stanowić problemu, jeśli pracujesz nad aplikacją , która wykorzystuje Guava. Uaktualnienie do nowej wersji powinno być łatwe, kiedy tylko wprowadzanie zmian tutaj i tam, jeśli zmieniły się interfejsy API @Beta
, z których korzystasz. To ludzie piszący bibliotek używających Guava, którzy naprawdę muszą unikać używania interfejsów API @Beta
, ponieważ przy użyciu jednego można stworzyć sytuację, w której nie można przełączyć się na nowszą wersję Guavy w aplikacji lub użyć innej biblioteki, która używa nowszej wersji ponieważ złamałoby to kod w starszej bibliotece, która zależy od zmienionego/usuniętego interfejsu API wersji beta.
Chris, Dziękuję bardzo za odpowiedź. Masz rację, czytałem, że kod może ulec zmianie do wersji 1.0, ale do strony z kolekcjami google, a nie do strony guava. Zgadzam się z Państwem na odebranie użycia adnotacji @Beta. Dzięki jeszcze raz! Carlos. – Carlos
Colin - koleś, poważnie zwracasz uwagę! Dziękuję za odpowiedź z ... radykalną poprawnością. –
Naprawdę zastanawiam się, dlaczego wychowali tę adnotację "@ Beta". Ponieważ nie oznacza to statusu "nie ostateczny", biblioteka zachowuje się jak każda inna biblioteka, w której należy pamiętać o zmianach w nowych wersjach. Taka jest natura nowych wersji (wiem, że NIGDY NIGDY nie należy zmieniać publicznego interfejsu ... :-). – FrVaBe