Как из мухи сделать слона


Вот за что я не люблю Java-программистов — так это за манию гигантизма. Проявляется он не только в банальной ресурсоёмкости их виртуальной машины и размере их кода, но и том, что эти методы они навязывают и другим.

Регистратор доменов Directi. Их система написана на Java. API работает на SOAP. Запрос для SOAP строится предоставляемой ими библиотекой (есть для Java, Perl, PHP, …). Так вот, чтобы передать им 20 грёбаных текстовых строчек необходимых для регистрации домена, мне пришлось написать 15-килобайтную обёртку к их Perl-библиотеке размером 948Kb, требующую для своей работы кучу библиотек, которая в свою очередь является обёрткой к SOAP::Lite, который является обёрткой к SOAP::* и XML::*, которые строят уже непосредственно XML-документ для передачи его через обычный TCP-сокет.

Я это к чему: через год мне пришлось искать в этой свалке ошибку…

UPD: Ещё они любят в качестве ошибок показывать свои стэки, из которых суть ошибки понятна только если у тебя есть исходники обработчика и ты имеешь время в них покопаться. Но Directi отчасти пошли дальше:

com.logicboxes.error.LogicBoxesException#~#com.logicboxes.util.Util#~#com.logicboxes.foundation.sfnb.order.DomContact.addContact(java.lang.String, java.lang.String,
java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)#~#error#~#

бывает и с меньшим размахом, но от этого не более осмысленно:

java.lang.Exception: none

  1. #1 by Stas on June 26th, 2008

    Да ладно тебе, это отдельно взятый, скорее всего неопытный, разработчик страдающий гигантизмом и отсутствием желания писать нормальные обработчики эксепшенов и думать над архитектурой приложения. :)
    Я время от времени зависаю на projecteuler.net, где после решения задачи есть возможность посмотреть как её решали другие люди. И таки ты знаешь, встречаются очень вкусные куски жабо кода.

(will not be published)

  1. No trackbacks yet.