metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2014-05-25 12:43 am

И о говнокоде

Если вам случайно понадобится использовать 7z из дотнета - постарайтесь не связываться с либой SevenZipSharp (враппер вокруг 7z.dll).
Давненько я не видел настолько мерзкого кода, с отсутствием потокобезопасности, глупыми ошибками обработки путей и прочим угребищем, перепутанными табами и пробелами и множеством прочих уродств.
Наверно правы люди, которые всякие архиваторы отличные от zip и tar.gz ненавидят как потустороннее зло.

[identity profile] psilogic.livejournal.com 2014-05-24 09:55 pm (UTC)(link)
шо то я ни понял логику: говнокод в обертке на шарпе вокруг 7z, из этого как следует, что сам 7z - гуано?

[identity profile] metaclass.livejournal.com 2014-05-24 10:19 pm (UTC)(link)
Никак. Ну кроме того, что и у того и другого мелкий user-base и из-за этого баги не вычищаются - никому не надо.

[identity profile] psilogic.livejournal.com 2014-05-25 06:15 am (UTC)(link)
де не... просто "писец на шарпе" - само по себе - диагноз

[identity profile] brainsucker.livejournal.com 2014-05-25 11:46 pm (UTC)(link)
про userbase 7z можно поспорить. сталкивался с оригинальным установленным 7z даже в госслужбах в загнивающих странах с других континентов - opensource как-никак. а уж про lzma лучше вообще не вспоминать - он везде.

[identity profile] vaddimka.livejournal.com 2014-05-24 10:57 pm (UTC)(link)
я как-то выдирал сам lzma из исходников 7-зипа
всего 4 файлика на си, вполне внятные

[identity profile] oldmann.livejournal.com 2014-05-25 02:14 am (UTC)(link)
ребе, tar.gz и есть zip.

[identity profile] eternal-leave.livejournal.com 2014-05-25 07:07 am (UTC)(link)
Только допиленный до вменяемого состояния.

[identity profile] tzirechnoy.livejournal.com 2014-05-25 07:10 am (UTC)(link)
Да нет, с чего ты взял? У них один и тот жэ алгоритм сжатия DEFLATE (LZ77+huffman), в том числе по-моему один битовый поток этого алгоритма (во всяком случае, одному RFC соответствует). В остальном -- всё очень разное. tar.gz -- solid архив, ZIP -- пофайловый, у zip -- цэнтральный каталог, tar -- описание файла внедряет в середину потока.

[identity profile] max630.livejournal.com 2014-05-25 05:36 am (UTC)(link)
ещё у 7z дурацкий cli, который спамит списком файлов в stdout

[identity profile] justy-tylor.livejournal.com 2014-05-25 08:48 am (UTC)(link)
Без 7z или rar нельзя. Древние говны типа zip и tar пишут в локальной кодировке. Зазиповали что-то с русскими именами на винде - будет хренпоймичто вместо имён на маках, и наоборот. А уж если файлы от корейцев пришли...

Кривые врапперы - отдельный вопрос. Может оказаться кошернее выдрать оттуда сигнатуры нативных вызовов и сделать напрямую.

[identity profile] metaclass.livejournal.com 2014-05-25 09:12 am (UTC)(link)
Да, я из-за кодировок rar и 7z и использую.

[identity profile] permea-kra.livejournal.com 2014-05-26 06:26 am (UTC)(link)
tar разве нельзя заставить писать имена в UTF-8 кодировке?

[identity profile] justy-tylor.livejournal.com 2014-05-26 08:31 am (UTC)(link)
Заставить можно, но никто не знает, в какой кодировке заставили писать имена при создании именно этого архива.

[identity profile] permea-kra.livejournal.com 2014-05-26 02:06 pm (UTC)(link)
А не монопенисуально ли это для внутреннего употребления?

Ну и бонусом - был искренне уверен, что не-юникодные локали уже благополучно умерли. Удивлен.

[identity profile] justy-tylor.livejournal.com 2014-05-26 02:45 pm (UTC)(link)
А кого волнует внутреннее? Файлы приходят, уходят, продукты деплоятся. Надо учитывать и кодировку, и часовые пояса, и блядские форматы вывода чисел/дат.

[identity profile] permea-kra.livejournal.com 2014-05-26 03:55 pm (UTC)(link)
Вы меня не поняли. Но мне лень .

[identity profile] 4dghh3s.livejournal.com 2014-05-25 10:13 am (UTC)(link)
ты не настоящий метакласс.