Re[7]: А вы видели код не говно ?
От: minorlogic Украина  
Дата: 13.01.13 11:04
Оценка:
Здравствуйте, Abyx, Вы писали:

A>к тому же там для сообщений об ошибках используется std::string, за что я на них очень зол


Расжуйте , любопытно отчего?
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[8]: А вы видели код не говно ?
От: Abyx Россия  
Дата: 13.01.13 11:30
Оценка: 3 (1)
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, Abyx, Вы писали:


A>>к тому же там для сообщений об ошибках используется std::string, за что я на них очень зол


M>Расжуйте , любопытно отчего?


там есть структура torrent_status — состояние торрента,
а у нее член std::string error; — текст ошибки, если торрент остановился из за ошибки.
(кода ошибки нету, только bool paused и string error)

выглядит этот текст например так:
Access denied: path\to\file

а в не-английской винде он выглядит так
Доступ запрещен: путь\к\файлу
^cp1251          ^cp866

т.е. разные части std::string в разных кодировках

разумеется если в пути к файлу есть например еще и китайские символы, то все совсем печально
In Zen We Trust
Re[2]: А вы видели код не говно ?
От: artem.komisarenko Украина  
Дата: 13.01.13 14:51
Оценка:
Здравствуйте, 11molniev, Вы писали:

1>На мой взгляд код 7-zip


Это он так маскируется. А когда начинаешь его использовать как библиотеку начинает вылазить всякое:
— документация отсутствует в принципе;
— ленивые потоки поддерживаются очень и очень ограниченным количество архиваторов (архиватор здесь и далее — модуль библиотеки) (split и доступаторы к образам файловых систем), остальные приходится тупо извлекать, хотя казалось бы;
— открытие многотомного 7-zip архива и вообще любого архива засунутого в split происходит через одно место, в общем коде "либы" этого нет, приходится писать-копипастить "по мотивам";
— если сходу реализовать у себя интерфейс необходимый для многотомныех архивов, отвалится кто-то из однотомных;
— если вдруг понадобилось узнать время файла в архиве и его тип (универсальное или глобальное), прийдется внимательно читать код каждого конкретного архиватора, а для zip'а, который может сохранять время в виде FAT-, NTFS- и UNIX-времени писать толпу триков, потому что 7zip "услужливо" приводит время к "нужному" нам виду и его приходится потом возвращать в исходный вид;
— и еще что-то, что уже забылось.

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

1>и nginx хороший


Я как-то специально выделил час на то чтобы осмотреть код и составить поверхностное впечатление о проекте (вопрос интеграции с ним тогда прямо не стоял, но намечался). Итог: "ничё не понятно, многа буков, где спеки".

Если уж приводить пример хорошего, то в опенсорсе это OpenSSL и ICU: нормальное качество кода, хорошо проработанное API.
Re[3]: А вы видели код не говно ?
От: 11molniev  
Дата: 13.01.13 16:36
Оценка:
Здравствуйте, artem.komisarenko, Вы писали:

AK>Здравствуйте, 11molniev, Вы писали:


1>>На мой взгляд код 7-zip


AK>Это он так маскируется. А когда начинаешь его использовать как библиотеку начинает вылазить всякое:

AK>- документация отсутствует в принципе;
AK>- ленивые потоки поддерживаются очень и очень ограниченным количество архиваторов (архиватор здесь и далее — модуль библиотеки) (split и доступаторы к образам файловых систем), остальные приходится тупо извлекать, хотя казалось бы;
AK>- открытие многотомного 7-zip архива и вообще любого архива засунутого в split происходит через одно место, в общем коде "либы" этого нет, приходится писать-копипастить "по мотивам";
AK>- если сходу реализовать у себя интерфейс необходимый для многотомныех архивов, отвалится кто-то из однотомных;
AK>- если вдруг понадобилось узнать время файла в архиве и его тип (универсальное или глобальное), прийдется внимательно читать код каждого конкретного архиватора, а для zip'а, который может сохранять время в виде FAT-, NTFS- и UNIX-времени писать толпу триков, потому что 7zip "услужливо" приводит время к "нужному" нам виду и его приходится потом возвращать в исходный вид;
AK>- и еще что-то, что уже забылось.

AK>Нет, конечно, спасибо автору, за то что выполнил столько грязной работы и собрал кучу разношерстного опенсор-г*на в одну библиотеку, но назвать это хорошим кодом — слишком смело.

Ну я имел в виду не sdk, а сам 7-zip. Хотя если честно, я не пробовал особо его использовать — просто заинтересовался и поверхностно познакомился с кодом.

1>>и nginx хороший


AK>Я как-то специально выделил час на то чтобы осмотреть код и составить поверхностное впечатление о проекте (вопрос интеграции с ним тогда прямо не стоял, но намечался). Итог: "ничё не понятно, многа буков, где спеки".

Ну там везде все свое и на первый взгляд, да, разобратся тяжеловато. Но в целом сам код вопросом не вызывает. Я в свое время интегрировал))

AK>Если уж приводить пример хорошего, то в опенсорсе это OpenSSL и ICU: нормальное качество кода, хорошо проработанное API.

По поводу OpenSSL согласен, как то не вспомнил. С ICU не сталкивался.
Re: А вы видели код не говно ?
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 13.01.13 19:01
Оценка: +3
Мне код Qt очень понравился. Как самого фреймворка, так и созданных с его помощью идущих в комплекте тулзов — Designer, Creator.
Re[2]: А вы видели код не говно ?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 14.01.13 10:58
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>On 12.01.2013 14:41, Аноним 208 wrote:


>> В ИТ около 15 лет, был ~6 конторах, ни разу не слышал чтобы хоть раз

>> чей-нибудь код называли хорошим, только и слышно здесь говно, там говно.
V>Видел. Правда это был код американской конторы, хоть программисты и в
V>Минске были и в Америке. Просто в том коде поучаствовал и Скотт Майерс.
Эпично. Самому вместе с ним не довелось работать?
Sic luceat lux!
Re[3]: А вы видели код не говно ?
От: Vzhyk  
Дата: 14.01.13 11:16
Оценка:
On 14.01.2013 13:58, Kernan wrote:

> Эпично. Самому вместе с ним не довелось работать?

Лично нет.
Posted via RSDN NNTP Server 2.1 beta
http://rsdn.org/File/27746/bel.gif
Re[2]: А вы видели код не говно ?
От: ambel-vlad Беларусь  
Дата: 15.01.13 00:07
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> В ИТ около 15 лет, был ~6 конторах, ни разу не слышал чтобы хоть раз

>> чей-нибудь код называли хорошим, только и слышно здесь говно, там говно.
V>Видел. Правда это был код американской конторы, хоть программисты и в
V>Минске были и в Америке. Просто в том коде поучаствовал и Скотт Майерс.

Ты про тот проект, что я думаю? Ну не скажи, не скажи. Местами там перебор.
Re[3]: А вы видели код не говно ?
От: Vzhyk  
Дата: 15.01.13 07:48
Оценка:
On 15.01.2013 3:07, ambel-vlad wrote:

> Ты про тот проект, что я думаю? Ну не скажи, не скажи. Местами там перебор.

Ты знаешь у кого спросить мыло Скотта и можешь пообщаться с ним на эту
тему.
А так да, переусложнение там налицо, но код приличный был. Кстати, и
после и до я насмотрелся такого местного кода (русского, беларуского),
что понял, тот код был идеален.
А русский код — индусы отдыхают. Пример, парсить RIFF WAV шапку
сдвигами. Или другой пример, заюзать патерн визитор, но всю логику
программы пустить в обход этого патерна. И это программисты не из
Урюпинска были — это питерские и с разных контор.
Posted via RSDN NNTP Server 2.1 beta
http://rsdn.org/File/27746/bel.gif
Re: А вы видели код не говно ?
От: Baudolino  
Дата: 15.01.13 10:21
Оценка:
А>Если знаете какой-нибудь опенсорс или есть свой код в интернете пришлите ссылочку посмаковать, хоть раз взглянуть на это чудо которое не назовут говном.
Java Collections, Guava, Spring Framework 3.x, ...
Re: А вы видели код не говно ?
От: maxkar  
Дата: 18.01.13 14:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Если знаете какой-нибудь опенсорс или есть свой код в интернете пришлите ссылочку посмаковать, хоть раз взглянуть на это чудо которое не назовут говном.


Во FreeBSD можно посмотреть исходники базовых утилит вроде cp/ls/rm и т.п. Не помню, как оно там правильно зовется. То ли world, то ли все же нет. Лет 7-8 назад там все было очень и очень хорошо. Смотреть именно из FreeBSD, если они реализацию на GNU-шную еще не поменяли.

Я в те исходники случайно залез. На линуке rm отказался удалять файл больше 4Гб, писал "cannot stat file". Я очень удивился еще, ведь там вроде всего пара системных вызовов, которые на размер файла не завязаны. Полез смотреть в код. В BSD там все было аккуратно, красиво и кратко. В GNU rm началось с какой-то кучи больших и страшных макросов, я испугался и все закрыл достаточно быстро.
Re: А вы видели код не говно ?
От: artkarma  
Дата: 18.01.13 18:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>В ИТ около 15 лет, был ~6 конторах, ни разу не слышал чтобы хоть раз чей-нибудь код называли хорошим, только и слышно здесь говно, там говно.

А>Даже нет у него в отличие от говнокода названия своего, там вареньекод, медокод.
А>Если знаете какой-нибудь опенсорс или есть свой код в интернете пришлите ссылочку посмаковать, хоть раз взглянуть на это чудо которое не назовут говном.
Любой код кроме своего, априори — говно
Re[9]: А вы видели код не говно ?
От: Abyx Россия  
Дата: 19.01.13 11:01
Оценка:
Здравствуйте, Abyx, Вы писали:

A>
A>Доступ запрещен: путь\к\файлу
A>^cp1251          ^cp866
A>

A>т.е. разные части std::string в разных кодировках

на самом деле путь\к\файлу там в utf-8.
в версии 0.16.7 это пофиксили и вся строка в utf-8.
In Zen We Trust
Re[2]: А вы видели код не говно ?
От: SkyDance Земля  
Дата: 20.01.13 23:50
Оценка: +2
A>Любой код кроме своего, априори — говно

Читаю свой код 2003 года, такое г...о, что самому стыдно.
Re[4]: А вы видели код не говно ?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 21.01.13 07:57
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>А русский код — индусы отдыхают. Пример, парсить RIFF WAV шапку

V>сдвигами
.
Можешь пояснить как это?
Sic luceat lux!
Re[5]: А вы видели код не говно ?
От: Vzhyk  
Дата: 21.01.13 08:10
Оценка:
On 21.01.2013 10:57, Kernan wrote:

> Можешь пояснить как это?

Не могу, ибо код проприетарный. С так да, чел зачитывал 44 байта (что
уже неверно в общем случае) и разбирал их сдвигами. Когда я это увидел,
у меня глаза округлились. Сейчас этот чел вполне успешно работает
программистом где-то в нерезиновой.
Posted via RSDN NNTP Server 2.1 beta
http://rsdn.org/File/27746/bel.gif
Re[6]: А вы видели код не говно ?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 21.01.13 08:26
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>On 21.01.2013 10:57, Kernan wrote:


>> Можешь пояснить как это?

V>Не могу, ибо код проприетарный. С так да, чел зачитывал 44 байта (что
V>уже неверно в общем случае) и разбирал их сдвигами. Когда я это увидел,
V>у меня глаза округлились. Сейчас этот чел вполне успешно работает
V>программистом где-то в нерезиновой.
Да я просто про подход спрашивал. Как это разбирать сдвигами? Можешь псевдокод привести? И как это правильнее сделать до кучи. Никакой конкретики по проекту не надо. Просто я видел разные способы разбора бинарных данных и хочется пополнить арсенал .
Sic luceat lux!
Re[7]: А вы видели код не говно ?
От: Vzhyk  
Дата: 21.01.13 08:43
Оценка: 4 (1)
On 21.01.2013 11:26, Kernan wrote:

> Да я просто про подход спрашивал. Как это разбирать сдвигами? Можешь

> псевдокод привести? И как это правильнее сделать до кучи. Никакой
> конкретики по проекту не надо. Просто я видел разные способы разбора
> бинарных данных и хочется пополнить арсенал .
formatTag+=(unsigned char)chBuff[l]*1<<8
что было переделано на:
formatTag+=(unsigned char)chBuff[l]*256
Posted via RSDN NNTP Server 2.1 beta
http://rsdn.org/File/27746/bel.gif
Re[7]: А вы видели код не говно ?
От: maykie  
Дата: 21.01.13 09:06
Оценка: +1
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, 11molniev, Вы писали:


1>>Перефразирую свой вопрос — есть ли конкрентые примеры, того, что Вы считаете хорошим кодом, где с ними можно ознакомится?


A>да что-то не припоминаю.

A>в LLVM есть много хорошего, но там запрещены исключения,

Есть там такие говноместа, что по рукам следует бить тапками много раз.

Например, помните вызова типа clang -march=help что печатают список процессоров?

Это реализовано через анус: когда инициализируется процессор, то вместо собственно инициализации архитектуры help
оно печатает список процессоров в std::cerr и завершает работу.

То есть если вы захотите убийцу IDA с гуем, которой даёт выбрать процессор то во-первых хрен вы получите список процессоров не через задницу, во-вторых если в .ini файле вам введут "help" как тип процессор, то прога завалиться если вы специально не будете проверять на то, что там передается "help".

https://github.com/llvm-mirror/llvm/blob/master/lib/MC/SubtargetFeature.cpp

Смотреть getFeatureBits и Help.

Меня никто не убедит что getFeatureBits'у простительно писать список фич в cerr. getFeatureBits() за это не должно отвечать.
Re: А вы видели код не говно ?
От: Аноним  
Дата: 29.01.13 09:06
Оценка:
Здравствуйте, Аноним, Вы писали:

А>В ИТ около 15 лет, был ~6 конторах, ни разу не слышал чтобы хоть раз чей-нибудь код называли хорошим, только и слышно здесь говно, там говно.

А>Даже нет у него в отличие от говнокода названия своего, там вареньекод, медокод.
А>Если знаете какой-нибудь опенсорс или есть свой код в интернете пришлите ссылочку посмаковать, хоть раз взглянуть на это чудо которое не назовут говном.

видел, ребята из Ек.бурга пишут, очень оригинальные собственные реализации стандартных и допольнительных либ,
оригинальные аллокарторы и много всего прочего
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.