( hrgy84 | 2015. 07. 15., sze – 16:01 )

" az a doksival egyenlő."

Bocs, muszaj megkerdeznem, hogy programoztal-e mar _valaha_ Java-ban, vagy dolgoztal-e mar valaha zart forrasu Java konyvtarral. Ugyanis nagyon kevered a fogalmakat, ami pedig nagy hiba.

Az API konyvtarak ugyanolyan Java fajlok (nem dokumentacio), mint a zart forrasu cucc, csak epp implementacio nelkul. Ezt a legrosszabb esetben az IDE maga allitja elo a zart forrasu bytekod elemzese es reszleges visszaforditasa utan. Ez nem keverendo ossze a disassemblalassal, ilyenkor az IDE semmi egyebet nem csinal, mint betolti a JAR fajlt, es reflection-nel visszakeresgeli az egyes osztalyok/metodusok szignaturajat, es ezt megjeleniti ugy, mintha egy ervenyes Java forraskod lenne, csak eppen ures metodustorzzsel. Ha jol tudom, akkor a privat metodusokat nem is lehet ily modon eloszedni, tehat csak azt fogod latni, amit latnod is kell egyebkent is.

Egyes zart forrasu konyvtarak fejlesztoi elebe mennek ezeknek a problemaknak, gondolnak azokra, akiknek nincs szerencsejuk olyan IDE-t hasznalni, ami ezeket elo tudja allitani, es maguk is nyujtanak API JAR-okat, amelyeknek a forrasa is publikus, am azok tovabbra sem tartalmaznak semmilyen implementaciot, csak a metodus szignaturakat es a JavaDoc kommenteket.

Ez az, amit en API-nak hivok (a dokumentaciot meg dokumentacionak hivom), es ez az, ami valojaban szamit, ugyanis ebbe nem irhatnak azt, amit akarnak, mert ha mas szignaturahoz forditom a kodot, mint a runtime konyvtar, amit hozzakot futtataskor a JVM, akkor egy NoMethodError-ral elszall az egesz a francba.
--
Blog | @hron84
Üzemeltető macik