- En iyi cevaplar
- 98
Merhabalar!
Her konuma merhabalar ile girmek istiyorum nedense .D
Bu konumda hem daha kolay hemde daha hızlı kod yazabilmeniz için önerdiğim eklentileri ve araçları tanıtacağım.
Hemen geçelim öyleyse;
Lombok
Bu eklenti Java'ya bazı güzel özellikler ekliyor ve işimizi kolaylaştırıyor.
Öne çıkan özellikleri:
- Var / Val ile local değişkenlerin type'ını girmemize gerek kalmaması.
- @NonNull ile otomatik null kontrolleri ekleyebilme.
- @Cleanup ise Java 7'nin Try-With resources sistemine benzer, kaynakları otomatik kapatan özellik.
- @Getter / @Setter ile X getX() ve setX(final X x) tarzı methodları otomatik oluşturmak.
- @ToString ile otomatik java.lang.Object#toString methodunu override / implement edebilme.
- @EqualsAndHashCode ile otomatik java.lang.Object#hashCode ve java.lang.Object#equals override / implement edebilme.
- @SneakyThrows Checked exceptionların gereksiz olduğu yerlerde kullanabilirsiniz, onları arka planda otomatik yakalayıp throwlar.
.. ve daha birçok özellik.
Resmi sitesi:
SpotBugs
Bu eklenti önceden FindBugs olarak geçiyordu fakat sanırım durduruldu veya IDE için olan eklentilerine güncelleme getirmeyi bıraktılar, tam bir bilgim yok fakat SpotBugs FindBugs'un yeni sürümü olarak geçiyor.
- Kodunuz da ki birçok bugu veya hatayı tespit edip sizi önceden uyarıyor.
- Direk bytecode üzerinde işlem yapıyor ve kodlama stilinize fazla karışmıyor.
- Özellikleri açılıp kapatılabilir ve her uyarının bir öncelik seviyesi var.
Resmi sitesi:
SonarLint
Bu eklenti kodlama stilinizi kontrol ediyor ve size öneriler sunuyor. Tabii sadece bu değil birçok güvenlik açığını, hatayı, bugu önceden tespit etmenizi sağlıyor. SpotBugs gibi fakat biraz daha katı kuralları olduğunu söyleyebilirim.
- Uyarılarına örnek vermek gerekir ise, eğer java.util.Collection#size() == 0 kullandıysanız bunun yerine isEmpty kullanmanızı öneriyor.
- Veyahut bir önceki NPE ile alakalı konumda bahsettiğim NPE ile alakalı uyarılar verebiliyor.
- Yine aynı şekilde özellikleri açık kapatılabiliyor ve her uyarının bir öncelik seviyesi var. Bunlara göre çözmeniz gereken sorunları önceliklerine göre sıralayıp önce en önemlilerini çözebilirsiniz.
Resmi sitesi:
Enchanced Null Analysis
Bu benim bildiğim iki IDE'de var, diğer IDE'ler için bir şey diyemeyeceğim.
Daha iyi null analizi sağlıyor ve methodları, fieldleri vb. @Nullable, @NonNull olarak işaretlemenizi sağlıyor.
Lombok'da bulunan @NonNull ile karıştırılmamalıdır, Lombok bu annotation kullanıldığında otomatik null kontrolü ekler fakat bu eklentiler sadece IDE'de bir derleme zamanı uyarısı verir.
Eclipse:
Wiki:
Maven:
IntelliJ:
Wiki:
Maven:
Konunun sonuna gelmiş bulunmaktayız! Sizinde kullandığınız ve önerdiğiniz araçlar var ise yorum kısmında belirtebilirsiniz, böylece bende unuttuklarımı veya bilmediklerimi konuya ekleyebilirim. Daha sonraki konularda görüşmek üzere!
Her konuma merhabalar ile girmek istiyorum nedense .D
Bu konumda hem daha kolay hemde daha hızlı kod yazabilmeniz için önerdiğim eklentileri ve araçları tanıtacağım.
Hemen geçelim öyleyse;
Lombok
Bu eklenti Java'ya bazı güzel özellikler ekliyor ve işimizi kolaylaştırıyor.
Öne çıkan özellikleri:
- Var / Val ile local değişkenlerin type'ını girmemize gerek kalmaması.
- @NonNull ile otomatik null kontrolleri ekleyebilme.
- @Cleanup ise Java 7'nin Try-With resources sistemine benzer, kaynakları otomatik kapatan özellik.
- @Getter / @Setter ile X getX() ve setX(final X x) tarzı methodları otomatik oluşturmak.
- @ToString ile otomatik java.lang.Object#toString methodunu override / implement edebilme.
- @EqualsAndHashCode ile otomatik java.lang.Object#hashCode ve java.lang.Object#equals override / implement edebilme.
- @SneakyThrows Checked exceptionların gereksiz olduğu yerlerde kullanabilirsiniz, onları arka planda otomatik yakalayıp throwlar.
.. ve daha birçok özellik.
Resmi sitesi:
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
SpotBugs
Bu eklenti önceden FindBugs olarak geçiyordu fakat sanırım durduruldu veya IDE için olan eklentilerine güncelleme getirmeyi bıraktılar, tam bir bilgim yok fakat SpotBugs FindBugs'un yeni sürümü olarak geçiyor.
- Kodunuz da ki birçok bugu veya hatayı tespit edip sizi önceden uyarıyor.
- Direk bytecode üzerinde işlem yapıyor ve kodlama stilinize fazla karışmıyor.
- Özellikleri açılıp kapatılabilir ve her uyarının bir öncelik seviyesi var.
Resmi sitesi:
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
SonarLint
Bu eklenti kodlama stilinizi kontrol ediyor ve size öneriler sunuyor. Tabii sadece bu değil birçok güvenlik açığını, hatayı, bugu önceden tespit etmenizi sağlıyor. SpotBugs gibi fakat biraz daha katı kuralları olduğunu söyleyebilirim.
- Uyarılarına örnek vermek gerekir ise, eğer java.util.Collection#size() == 0 kullandıysanız bunun yerine isEmpty kullanmanızı öneriyor.
- Veyahut bir önceki NPE ile alakalı konumda bahsettiğim NPE ile alakalı uyarılar verebiliyor.
- Yine aynı şekilde özellikleri açık kapatılabiliyor ve her uyarının bir öncelik seviyesi var. Bunlara göre çözmeniz gereken sorunları önceliklerine göre sıralayıp önce en önemlilerini çözebilirsiniz.
Resmi sitesi:
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
Enchanced Null Analysis
Bu benim bildiğim iki IDE'de var, diğer IDE'ler için bir şey diyemeyeceğim.
Daha iyi null analizi sağlıyor ve methodları, fieldleri vb. @Nullable, @NonNull olarak işaretlemenizi sağlıyor.
Lombok'da bulunan @NonNull ile karıştırılmamalıdır, Lombok bu annotation kullanıldığında otomatik null kontrolü ekler fakat bu eklentiler sadece IDE'de bir derleme zamanı uyarısı verir.
Eclipse:
Wiki:
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
Maven:
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
IntelliJ:
Wiki:
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
Maven:
Linki görebilmek için üye olmanız gerekiyor.
Giriş yap veya üye ol.
Konunun sonuna gelmiş bulunmaktayız! Sizinde kullandığınız ve önerdiğiniz araçlar var ise yorum kısmında belirtebilirsiniz, böylece bende unuttuklarımı veya bilmediklerimi konuya ekleyebilirim. Daha sonraki konularda görüşmek üzere!