Merhaba,

Github'ta Java uygulamalarına bakıyorum. Paketler, fonksiyonlar, implementasyonlar, birbirini miras edinmiş sınıflar. Bu haliyle okuması epey zorlaşıyor. Hele ki İngilizce sınıf isimleri olunca, bazen hangisinin programcı tarafından yazılan sınıflar olduğunu karıştırıyorum.

Java'da fikirlerini nesnel olarak ifade etmekte zorlandığı için kod okuma ve anlama alıştırmaları yapan birine bu konuda ne önerirsiniz? Yani sınıflar, nesneler, metotlar arasındaki ilişkileri, ilgileri haritalayacak bir araç, komut biliyor musunuz?

soruldu: 02 Ara '12, 07:07

murtaza's gravatar image

murtaza
981122535
cevap kabul oranı: 29%

değiştirildi: 02 Ara '12, 10:47

Hangi IDE için bunu istiyorsunuz?

(02 Ara '12, 15:37) rahmanyazgan ♦ rahmanyazgan's gravatar image

Çok sık Eclipse kullanırım. Üstünlüğü varsa konsol uygulaması bile olabilir.

(02 Ara '12, 15:48) murtaza murtaza's gravatar image

Ben konuya aslında biraz farklı bir açıdan bakmak ve cevap vermek istiyorum.

Her ne kadar biz yazılımcılar metod, sınıf, değişken isimlerini anlaşılır yazmaya çalışsak da kod dökümantasyonu(kodun üzerine usulü ile ne iş yaptığını yazmak) yazmamız çoğu durumda kodu paylaştığımız kişiler için oldukça faydalı olan bir şey.

Hele ki özellikle yazılan proje, açık kaynak bir yazılım projesi ise (ve de özellikle API olarak sunulmuşsa) kesinlikle bir dokumantasyonu olmalı. (Çünkü her yazılımcı aslında bir yazardır ve yazarlar yazdıklarını insanlara okutmak için yazarlar. Clean Code- R.C. Martin)

Özetle söylemem gereken GitHub vb. yerlerdeki açık kaynak kodlu olan ve hakikaten iyi yazılmış yazılımların dökümantasyonu mutlaka vardır. Öncelikle bunu oradaki projeleri incelerken bir kriter olarak almanı ve dökümantasyonu olmayan projeleri sonraya bırakmanı öneririm. Eğer projenin wiki sayfasında JavaDoc html olarak yayınlanmışsa bu iyi haber, hemen okuyabilirsin. Yayınlanmamışsa projeyi çekip faridmovsumov'un da dediği gibi JavaDoc generate etmen gerekiyor(Eclipse'in bu özelliği sanırım var. Ayrıca ekstra plug-in'ler de mevcut).

JavaDoc okumak haricinde 2. aşama olarak(ya da öncesinde de yapabilirsin) proje mimarisini(senin tabirinle harita) incelemen yerinde olacaktır. Proje mimarisini görüntülemek için eUML2 adlı Eclipse plug-in'ini kullanabilirsin.

Bu aşamada hangi metod nereden çağırılmış, sınıflar birbirine nasıl bağlı vb. görüntüleyebilir, metodlar değişkenler nerede ne yapar daha fazla inceleme fırsatı bulabilirsin. Bu noktada benim tavsiyem projenin tümünün haritasını çıkarmak değil de, misal modüllerden oluşan bir proje ise modül modül, ya da modül içindeki paket bazında bakmanın doğru olacağıdır.

permanent link

cevaplandı: 06 Ara '12, 03:12

mabulgu's gravatar image

mabulgu ♦
2.8k43040
cevap kabul oranı: 26%

değiştirildi: 06 Ara '12, 03:14

Bunun için genelde izlenecek en sağlam yol projenin kurucularıyla iletişime geçip uml diyagramları vs. gibi bilgilerin sizinle paylaşılmasını rica etmektir.

Projenin dökümantasyonunu otomatik olarak üreten araçlar var. Bu araçlar genelde sınıf hiyerarşisini de görsel bir şekilde sunmaktadır. Doxygen bütün dilleri destekleyen projedir sanırsam o yardımcı olabilir. Ben bu amaç ile php de phpDocumentor kullanıyorum java için kullandığım bir araç yok ancak internette arama yaptığımda bir çok araç çıktı karşıma (keyword: "java documentation generator"). Ayrıca projenin javadocları da düzgün bir şekilde doldurulmuş ise çok daha iyi sonuçlar elde edebilirsiniz.

permanent link

cevaplandı: 05 Ara '12, 07:19

faridmovsumov's gravatar image

faridmovsumov
1.1k193738
cevap kabul oranı: 16%

değiştirildi: 05 Ara '12, 07:20

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,076
×8

Soruldu: 02 Ara '12, 07:07

Görüntüleme: 1,387 kez

Son güncelleme: 06 Ara '12, 03:14

powered by BitNami OSQA