Impor Gpar yang sesuai

Apakah pantas menggunakan impor berikut saja?

import groovyx.gpars.*

Sehingga saya bisa melakukan:

import groovyx.gpars.*

GParsPool.withPool {
   list = 1..10
   list.each{print it + 1 + "\n"}
}

Alih-alih:

import static groovyx.gpars.GParsPool.withPool

withPool {
   list = 1..10
   list.each{print it + 1 + "\n"}
}

Dengan demikian, saya tidak perlu menyebutkan setiap impor seperti import static groovyx.gpars.actor.Actors.actor secara terpisah, seperti di Contoh Halo Dunia.


person Evgenij Reznik    schedule 09.03.2013    source sumber


Jawaban (1)


Ini benar-benar masalah gaya, tetapi di perusahaan kami, kami telah memutuskan bahwa menggunakan * dalam pernyataan import akan menimbulkan masalah di kemudian hari. Dengan menggunakan *, Anda mengimpor beberapa hal, dan Anda mungkin tidak mengetahui semuanya. Dalam hal ini, ini mungkin tidak menjadi masalah, tetapi menggunakan impor wildcard dijamin pada suatu saat Anda akan menggunakan kelas "Utils" atau semacamnya, dan tidak tahu dari paket mana Anda mendapatkannya.

Kami bahkan mengalami pelanggaran gaya untuk impor yang tidak digunakan. Mengingat IDE saat ini dengan manajemen impornya yang sangat baik untuk Anda, tidak ada banyak alasan untuk bermalas-malasan dengan pernyataan import Anda dan berpotensi menimbulkan masalah bagi pengembang masa depan pada basis kode Anda (terutama jika itu Anda).

person billjamesdev    schedule 10.03.2013
comment
Saya setuju, tapi dengan satu peringatan. Ada sejumlah tempat di mana impor statis generik sesuai atau bahkan idiom standar, kasus uji junit adalah yang paling jelas. Kecuali dalam kasus-kasus terbatas ini saya selalu mencantumkan semuanya secara eksplisit. Jika tidak ada yang lain, daftar impor yang sangat banyak merupakan petunjuk bahwa kelas Anda mungkin melakukan terlalu banyak hal. - person Michael Rutherfurd; 11.03.2013