2015-09-29 7 views
5

Czy uznano by za pogorszenie przyszłej czytelności kodu, jeśli używałbym go w całym kodzie? Na przykład przy użyciu:Korzystanie z importu statycznego i jakości odczytu kodu?

import static java.lang.Integer.*; 

więc mogę użyć tego kodu

int a = parseInt(scanner.nextLine()); 
+11

Uwaga! Może być użyteczne dla 'parseInt', ale nie dla' valueOf', 'toString',' min' lub 'max' (ponieważ istnieje mnóstwo metod o tych nazwach). To samo dla stałych 'SIZE',' MIN_VALUE' i 'MAX_VALUE'. Dlatego nie należy importować '*', ale raczej 'importować statyczny java.lang.Integer.parseInt;'. – Holger

Odpowiedz

3

kiedy należy użyć import statyczny? Bardzo oszczędnie! używać go tylko wtedy, gdy chcesz być inaczej kuszony zadeklarować lokalne kopie stałych lub nadużywanie dziedziczenia (The Constant Interfejs antywzorzec projektowy)

Twoim przypadku Importowanie wszystkich statycznych z klasy mogą być szczególnie szkodliwe do czytelności; jeśli potrzebujesz tylko jednego lub dwóch członków, zaimportuj je pojedynczo.

Link for more detail

+1

Późniejsza część mówi również: "Użyto odpowiednio, import statyczny może sprawić, że twój program stanie się bardziej czytelny, usuwając szablon powtarzania nazw klas." więc w zasadzie przypadek importu, który chcę dla liczb całkowitych parsujących kwalifikuje się jako usprawnienie, prawda? Oczywiście importowanie czegoś takiego jak "System", a następnie używanie tylko 'out.printf' byłoby złym pomysłem i dezorientującym. –

+0

Holger dodał komentarz –

0

Jedyny czas myślę, że to właściwe wykorzystanie import static jest przy użyciu dużo Assert.assertXXX(...) gdy robi jakieś badania (z JUnit, TestNG, etc.).

Za każdym razem, gdy łapałem się na wołaniu wielu funkcji statycznych w niewielkiej ilości kodu, lepiej poprawić czytelność (zamiast robić import static).

Powiązane problemy