Termin zostanie użyty jako nazwa metody. Metoda jest wywoływana, gdy część interfejsu użytkownika jest ukryta (lub usunięta) i służy do resetowania wartości do wartości domyślnych i usuwania obiektów, które nie będą już używane.
Możliwe nazwy to: zwolnij, usuń, wyrzuć, wyczyść itp.
Który według Ciebie jest najbardziej odpowiedni?
development-process
methods
initialization
Gabriel Diaconescu
źródło
źródło
Initialize
tylko wtedy, gdy nie potrzebujesz antonimu! W razie potrzeby wybierz inny czasownik (przez większość czasu istnieje bardziej opisowa alternatywa). W celu uzyskania dalszych informacji podaję listę antonimów dla programistów w GitHub.Odpowiedzi:
Używam :
Uważam to za bardziej odpowiednie:
Niektórzy ludzie mogą jednak uznać to za kwestię gustu.
źródło
terminate()
. Uważam, że jest to na ogół jednoznaczne i prawdopodobnie ma uzasadnione zastosowanie we wszystkich przypadkach użycia.set up
(który pasujetear down
)setup
(nie ma takiego czasownika w języku angielskim).Zazwyczaj wybieram opcję Finalizuj, Zniszcz lub Zakończ w zależności od funkcji obiektów.
W przypadku opisanego przez ciebie przypadku, dokończę na podstawie mojego schematu.
źródło
finalize()
metodę wskazującą, że nie będzie już żadnych odwołań do obiektu.Lubię
release
metodę, która usuwa przedmioty i inne zasoby (np. Jako przygotowanie do zniszczenia). Wybrałbymreset
metodę, która resetuje wartości do wartości domyślnych.Jeśli stan „domyślny” nie wymaga żadnych zasobów,
reset
może być w stanie wywołaćrelease
tę część operacji.źródło
close()
Nikt jeszcze nie zaproponował close (). Java 7 ma nową funkcję „spróbuj z zasobami”. Klasa, która jest automatycznie czyszczona, musi zaimplementować java.lang.AutoCloseable, która ma jedną metodę close (). shutdown () lub cleanup () również mogą być dobre.
Nie
finalize()
finalize () oznacza coś specyficznego dla śmietnika w Javie, a sposób jego działania jest trochę dziwny. Trzymałbym się z dala od finalize (), chyba że chcesz dokładnie tego, co Java robi z finalize ().
źródło
Finalize
służy do niszczenia instancji klas.Bardzo lubię „niszczyć”. Nie może być jaśniejsze, chyba że piszesz grę wideo lub coś takiego.
źródło
Powiedziałbym, że zależy to od tego, czy akcja jest opcjonalna, czy wymagana (bez przecieków zasobów) i czy język obsługuje konstruktory / destruktory. Do opcjonalnych przypadków używam:
W innych przypadkach, gdy wymagane jest działanie odwrotne (w językach bez konstruktorów / destruktorów lub gdy destruktor nie zwalnia zasobu), używam:
W twoim przypadku myślę, że wolałbym
hide
. Może nadal zwalniać pamięć / zasoby, jeśli chce - ważne jest to, że jest opcjonalny, tzn. Że destruktor zajmie się nim, jeśli tego nie zrobisz.źródło
Moja pierwsza myśl została zburzona, ale jest to wykorzystywane w wielu środowiskach testowych. Finalizacja i usuwanie mają podobne problemy. Zresetuj lub wyczyść oba wydają się być dobrym wyborem. Reinitialize wyjaśnia, że wraca do stanu zainicjowanego, co byłoby dobre, gdyby stan, do którego wracasz, to stan początkowy.
Tylko upewnij się, że Twój termin nie jest przeciążony w obecnym kontekście.
źródło
Finalize
iDispose
są w kodzie .NET. Poza tym nie widzę problemu z ponownym użyciem ustalonych nazw.reset
wydaje się dobrym terminem, jeśli resetujesz obiekt do wartości domyślnych.reinitialize
może być również odpowiednie, jeśli użycie tego obiektu jest podobne do tego, coinitialize
robi. Wygląda na to, że ta metoda usunie inne obiekty, a nie ten, który odbiera wiadomość, w którym to przypadku jedno z powyższych powinno być w porządku. Jeśli naprawdę robisz coś przeciwnegoinit
i przygotowujesz odbiornik do zniszczenia,dispose
byłby to dobry wybór.źródło
http://www.wordhippo.com/what-is/the-opposite-of/initialize.html
Pójdę z finalizacją. Myślę jednak, że jest to trochę zależne od dokładnego przypadku użycia: np. Jeśli używasz go głównie do zwalniania zasobów, zamykania połączeń, plików, wtedy wydawanie byłoby bardziej znaczące.
Jeśli szukasz pojęcia do użytku ogólnego lub standaryzacji, wybrałbym coś mniej znaczącego, coś bez specjalnego znaczenia, np. Wydanie lub usunięcie.
Pojęcie init vs (cokolwiek) jest podobne do (konstruktor vs destruktor) lub w finalizacji java.
( Uwaga : jeśli język ma koncepcję konstruowania i niszczenia obiektów, to jego lub wcale nie trzeba używać init ().)
źródło
finalize
jest zarezerwowany w Javie.Jeśli obiekt, na który wywoływana jest metoda, przestanie być używany, użyłbym tylko standardowego destruktora. Nie wygląda to jednak na przypadek, dlatego lepszym nazwiskiem, zamiast zbyt ogólnym, jest prawdopodobnie coś w rodzaju
hide()
ukrywania samego obiektu lub ukrywaniahideUserInterfacePart()
złożonych obiektów.źródło