2011-01-07 11 views
16

IntelliJ IDEA'da (başka bir projede çalışan) birlikte çalışan bir kullanıcı bana inanılmaz @NotNull ek açıklamalarını gösterdi. Burada her yerde çok fazla zaman ve baş ağrısı kaydettiğini @NotNull eklemek için SO hakkında mesajlar okudum (ve IntelliJ 10 bile null hasara yol açabilir saptadığında eski kod için @NotNull eski ekleyebilirsiniz).Hem IntelliJ hem de Eclipse geliştiricilerinin çalıştığı bir projede @NotNull öğesinin kullanılması

benim çene düştü ve bende (hatta henüz derleme değil kısmi .java dosya üzerinde IDE gerçek zamanlı olarak,) benim ilk "Olası @NotNull ihlali" mesajı okuyun yana bağlanmış.

Yani merak ediyordum: geliştiricilerin Eclipse ve IntelliJ'u kullandıkları bir projede @NotNull kullanmaya başlamak istersek bilinmesi gereken bir şey var mı?

IntelliJ'un, annotations.jar ile birlikte geldiğini biliyorum. Bu Eclipse ile uyumlu mu?

+0

@duffymo bakın. Bir şekilde Eclipse, Eclipse kullanan devlerin hala projelerindeki ek açıklamaları kullanabildiği sürece @NotNull olası ihlalleri hakkında gerçek zamanlı olarak uyarmazsa sorun olmaz. Bu konuda deneyime sahip herkes yorum yapabilseydi harika olurdu :) Ama, yup ... IntelliJ çok salladı :) – Gugussee

+4

IntelliJ'te Eclipse'i kullanan birisinin geliştirdiği kodlara bakmaktan daha fazla sinir bozucu bir şey yok. Her yere uyarı. – sblundy

cevap

6

Ayrıca ek açıklamaları kaynak dışında saklamak da mümkündür. Ayarlar> Kod Stili> Kod oluşturma> Harici ek açıklamalar kullanın. Açıklamalar daha sonra kaynak yerine bir annotations.xml dosyasında depolanır. Bu sayede Eclipse kullanıcıları ek açıklamaları görmek zorunda kalmazlar. Annotations.xml dosyasının konumu yapılandırılabilir ve muhtemelen dosyayı sürüm kontrolü ile projeyle birlikte saklamak en iyisidir. Biliyorum, biliyorum ... Ama yine de biz Eclipse ve IntelliJ ikisini kullanın hala @NotNull kullanabilirsiniz bilmek istiyorum:

http://www.jetbrains.com/idea/webhelp/using-external-annotations.html http://blogs.jetbrains.com/idea/2008/02/external-annotations/

+0

Bunu en az bir yıl önce okumayı hatırlıyorum ama hiç denemedim. VCSes ve Mercurial gibi DVC'ler ile iyi bir kombinasyona sahip olup olmadığını biliyor musunuz? Ben sık sık başka bir dalına atlamak, geri alma, "daggy düzeltmeleri" vb. – Gugussee

4

Eclipse ile annotations.jar'u kullanabilirsiniz, ancak muhtemelen herhangi bir avantaj elde edemezsiniz ... Bkz. this SO post.

1

Findbugs benzer işlevlere sahiptir, ancak entegrasyon IntelliJ'in yerleşik gücünün soluk gölgesidir.

2

Her iki IDE'yi de FindBugs @NonNull ve ilgili IDE eklentileriyle destekleyebilirsiniz.

1

Neden bir takımın ortak bir IDE kullanmadığını soruyordum. Neden bir ya da diğerinde standardize edilmiyor? (Hangisini tavsiye edeceğimi biliyorsunuz.)

+10

Çünkü muhtemelen Eclipse olarak bitecek ve hiçbir IntelliJ kullanıcısı bunu istemeyecek. – sblundy

+4

İnsanların hem Java proje geliştirme ortamı * hem de son ürünün tamamen taşınabilir olmasını istediği bir şirket gördüm. Onların mantığı, bazı devlerin Windows/Eclipse, Linux/Eclipse, diğerleri Mac/IntelliJ, vb. Üzerinde çalışabilmesi ve Linux (örneğin yerel olarak) ve Solaris'in (ön prod ve prod olarak) dağıtımıdır. Daha sonra projenin iyi tasarlanmış/mimarlık/kurulum/etc olması daha olasıydı. Sanırım mantıklı. – Gugussee

+0

@sblundy: lol :) – Gugussee

İlgili konular