.NET библиотеки для Google API, в частности OAuth, Google Analytics и Google Search Console API — жутчайший кусок говна, ничего хуже я еще в жизни не видел. Всё делается через задницу, везде жутчайшие нагромождения бессмысленных и ненужных паттернов, разобраться, как делается простейшая задача — это надо днями ковыряться в мануалах, половина из которых к тому же содержит ошибки.
Re: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, consign, Вы писали:
C>.NET библиотеки для Google API, в частности OAuth, Google Analytics и Google Search Console API — жутчайший кусок говна, ничего хуже я еще в жизни не видел. Всё делается через задницу, везде жутчайшие нагромождения бессмысленных и ненужных паттернов, разобраться, как делается простейшая задача — это надо днями ковыряться в мануалах, половина из которых к тому же содержит ошибки.
Да ладно. В любом проекте можно такое найти, стоит попробовать что-то такое, на что создатели не рассчитывали.
На днях прикручивал перехват вывода в консоль и динамический пропуск тестов к xUnit. Всего-то надо подменить:
* Один класс-атрибут.
* Один класс, чтобы привязать атрибут к реальному коду.
* Один класс исключения.
* Один класс, чтобы превратить исключение в сообщение "тест прерван".
* Один класс, чтобы сообщение "тест прерван" не теряло переданный текст сообщения.
* Один класс, чтобы подменить логику запуска тестов.
* Один класс, чтобы перехватить вывод в консоль при запуске теста.
* Ну и ещё один, чтобы rule them all.
Про уровень извращений в самом коде даже не буду, мне хватило методов с 8-10 аргументами. Это как бы передовой фрёймворк, который .Net core team использует вместо стандартного msTest, эхх.
Здравствуйте, Sinix, Вы писали:
S>Да ладно. В любом проекте можно такое найти, стоит попробовать что-то такое, на что создатели не рассчитывали.
А, ну-ну. Значит, создатели не предусмотрели возможность, что их API вообще кто-то будет использовать.
Потратить уже почти 2 дня на то, чтобы разобраться, как правильно сделать долбаный логин — других вариантов объяснения не оставляет.
S>В общем теперь я даже почти готов полюбить nUnit. Он хоть и ужасен, но хотя бы работает, без религиозных закидонов.
Не знаю, что ужасного в nUnit — он просто работает. А xUnit — еще один хороший пример проекта, созданного упоротыми фанатиками. Мне хватило 1 дня и попыток сделать банальнейший setup/teardown, чтобы забить и забыть это как страшный сон.
Re[3]: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, consign, Вы писали:
S>>Да ладно. В любом проекте можно такое найти, стоит попробовать что-то такое, на что создатели не рассчитывали. C>А, ну-ну. Значит, создатели не предусмотрели возможность, что их API вообще кто-то будет использовать.
Надо было всё-таки ставить, да?
C>Не знаю, что ужасного в nUnit — он просто работает.
nUnit корявый местами. Ассерты в стиле You.Should.Pass.Moar.Dots — фиг с ним. А вот порядок аргументов в AreEqual(expected, actual), который нарушается в 99% случаев и порождает абсолютно нечитаемые сообщения — фейл.
C>чтобы забить и забыть это как страшный сон.
А, да-да-да. У автора xUnit ещё аргументация такая прикольная. Что-то типа мы не умеем правильно писать setup, поэтому он и не нужен, ага.
Re: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, consign, Вы писали:
C>.NET библиотеки для Google API, в частности OAuth, Google Analytics и Google Search Console API — жутчайший кусок говна, ничего хуже я еще в жизни не видел. Всё делается через задницу, везде жутчайшие нагромождения бессмысленных и ненужных паттернов, разобраться, как делается простейшая задача — это надо днями ковыряться в мануалах, половина из которых к тому же содержит ошибки.
В Гугле банально JS API для карт не могут нормально написать, чё уж говорить-то.
Re: К вопросу о сортировке гномиков и качестве кода
Самое главное-пройти собеседования, а на работе можешь лепить как хочешь и что хочешь, никому до этого дела не будет, но бабло получать будешь исправно.
ЗЫ в мире столько дебилизма и несправедливости, что у меня сомнения, что Бог на самом деле великий математик и программист, он скорее косячник и быдлокодер ещё тот.
Re[4]: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, Sinix, Вы писали:
C>>чтобы забить и забыть это как страшный сон. S>А, да-да-да. У автора xUnit ещё аргументация такая прикольная. Что-то типа мы не умеем правильно писать setup, поэтому он и не нужен, ага.
Вот, кстати, раз пошла такая пьянка, накину-ка и я на вентилятор.
У меня жесточайшая боль, что xUnit не умеет в чтение csv, а mstest, соответственно, не умеет читать CSV в 64-битном режиме. Если у кого есть работающее решение второй проблемы, буду весьма благодарен. Что я имею в виду под чтением csv — DatasourceAttribute.
Re[4]: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, Sinix, Вы писали:
S>nUnit корявый местами. Ассерты в стиле You.Should.Pass.Moar.Dots — фиг с ним. А вот порядок аргументов в AreEqual(expected, actual), который нарушается в 99% случаев и порождает абсолютно нечитаемые сообщения — фейл.
А, есть такое дело. Но можно сделать свой враппер с нормальным порядком.
Re[2]: К вопросу о сортировке гномиков и качестве кода
S>Самое главное-пройти собеседования, а на работе можешь лепить как хочешь и что хочешь, никому до этого дела не будет, но бабло получать будешь исправно.
Это точно не про гугл. Там есть ежегодный performance review, по результатам которого вполне реально можно вылететь с работы. За каждым там внимательно следят и изучают, платят дохрена, но ждут что ты принесешь во много раз больше чем в тебя вложено. Суть их кадровой политики в том, что они пытаются нанимать high-potential сотрудников и выращивать их в т.н. highperformers. Поэтому попасть к ним проще студентом (но и вылететь проще), а скажем в 30 лет нужно очень хорошо себя показать на собеседовании и при этом иметь экстраординарный карьерный путь, чтобы тебя взяли, т.к. они смотрят на тебя — 30-летнего сениора и думают, а чой-то он все еще сениор в своем зажопинске(подставить любой российский город) в свои 30-ть, был бы он highperformer-ом — уже был бы как минимум лидом в крупной компании, а может даже CEO/CTO в своей компании, публикаций интересных нет, значит науку не двигал, open-source серьезно тоже не пилил, значит отмазок нет. Как-то так там.
Re[3]: К вопросу о сортировке гномиков и качестве кода
Пришлось тут поработать с гугло-диском ну и попутно с этой их аутентификацией, авторизацией.
Большего говнища я в жизни не видел, код топором нарублен и в кучу свален
Re[4]: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, consign, Вы писали:
C>Тебе осталось только придумать объяснение, кто сделал этот говнософт.
Я думаю что этот говнософт (если это вообще говнософт и насколько вообще можно доверять тебе в вопросе навешивания подобных ярлыков) по быстрому захачили люди, очень далекие от C# и платформы .NET скорее всего вообще какие-нибудь джависты и скорее всего это тупой порт с джавы.
Судить о компании по куску говнокода для маргинальной платформы — странно. Посмотри исходники LevelDB, Guava или чего-нибудь подобного от них.
Re[5]: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, chaotic-kotik, Вы писали:
C>Я думаю что этот говнософт (если это вообще говнософт и насколько вообще можно доверять тебе в вопросе навешивания подобных ярлыков)
Зато тебе точно нельзя доверять в таких вопросах, если ты рассуждаешь о вещах, о которых ничего не знаешь.
C>C# и платформы .NET скорее всего вообще какие-нибудь джависты и скорее всего это тупой порт с джавы.
Я видел тупые порты, они были на порядок лучше. Говнокод — это говнокод, независимо от языка.
Здравствуйте, chaotic-kotik, Вы писали:
CK>Я не рассуждаю об этих вещах. Я лишь сомневаюсь в твоих рассуждениях, основания у меня для этого есть, ибо ты никакой конкретики/кода не привел.
А я еще больше сомневаюсь в твоих, ибо никакой конкретики/кода ты не привел, да и вообще его не видел.
Re[8]: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, consign, Вы писали:
C>А я еще больше сомневаюсь в твоих, ибо никакой конкретики/кода ты не привел, да и вообще его не видел.
consign — Я заявляю что Google OAuth, Analytics & Search — говно!
chaotic-kotik — Как насчет примеров кода?
consign — Ты сам должен показывать код и вообще!
Re[9]: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, chaotic-kotik, Вы писали:
CK>consign — Я заявляю что Google OAuth, Analytics & Search — говно! CK>chaotic-kotik — Как насчет примеров кода?
consign — все данные — в интернете. Попробуй, в качестве эксперимента, просто сделать логин и получить список сайтов. Ты ведь программист, я надеюсь?
Re[3]: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, chaotic-kotik, Вы писали:
CK>Это точно не про гугл. Там есть ежегодный performance review, по результатам которого вполне реально можно вылететь с работы. За каждым там внимательно следят и изучают, платят дохрена, но ждут что ты принесешь во много раз больше чем в тебя вложено. Суть их кадровой политики в том, что они пытаются нанимать high-potential сотрудников и выращивать их в т.н. highperformers. Поэтому попасть к ним проще студентом (но и вылететь проще), а скажем в 30 лет нужно очень хорошо себя показать на собеседовании и при этом иметь экстраординарный карьерный путь, чтобы тебя взяли, т.к. они смотрят на тебя — 30-летнего сениора и думают, а чой-то он все еще сениор в своем зажопинске(подставить любой российский город) в свои 30-ть, был бы он highperformer-ом — уже был бы как минимум лидом в крупной компании, а может даже CEO/CTO в своей компании, публикаций интересных нет, значит науку не двигал, open-source серьезно тоже не пилил, значит отмазок нет. Как-то так там.
Это в теории. А на практике формула найма в больших компаниях — нанять талантливыж людей и платить им деньги, чтобы они сидели и теряли талант, но не достались конкурентам и ни в коем случае не создали свои фирмы. Рассказы, как в Гугл нанимают PhD за 100K евро, чтобы пилить CSS для сайтов, я слышу постоянно. Даже цитата есть известная на эту тему:
"I used to joke with my colleagues that Larry & Sergey go out on their yachts — tie them together, sit back on the same recliners you'll find on their jumbo jet, each on his own yacht/set of yachts, smoke cigars, and put up pictures of Googlers with little snippets like 'was a GM at multi-national telecomm company, got a Harvard MBA and is now answering Orkut tickets.' and then they would erupt in laughter and clink their cigars & Scotch together in celebration. This, of course, is highly unlikely given neither of them would ever smoke a cigar or drink Scotch. Remainder is plausible."
Performance Review — хз как в гугле, но в том же MS он ничего общего с реальностью не имел. Если менеджер тебя любит, то напишет тебе "неоценимое влияние на команду" даже если ты весь год тупо кофе людям приносил. И наоборот, если ты не понравился — всегда можно найти политкорректную отговорку про командный дух.
Re[4]: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, bazis1, Вы писали:
B>Это в теории. А на практике формула найма в больших компаниях — нанять талантливыж людей и платить им деньги, чтобы они сидели и теряли талант, но не достались конкурентам и ни в коем случае не создали свои фирмы. Рассказы, как в Гугл нанимают PhD за 100K евро, чтобы пилить CSS для сайтов, я слышу постоянно. Даже цитата есть известная на эту тему: B>
"I used to joke with my colleagues that Larry & Sergey go out on their yachts — tie them together, sit back on the same recliners you'll find on their jumbo jet, each on his own yacht/set of yachts, smoke cigars, and put up pictures of Googlers with little snippets like 'was a GM at multi-national telecomm company, got a Harvard MBA and is now answering Orkut tickets.' and then they would erupt in laughter and clink their cigars & Scotch together in celebration. This, of course, is highly unlikely given neither of them would ever smoke a cigar or drink Scotch. Remainder is plausible."
Хз как там на самом деле. Я пересказал то что слышал от чувака, который в гугле работал рекруитером.
Re: К вопросу о сортировке гномиков и качестве кода
Здравствуйте, consign, Вы писали:
C>.NET библиотеки для Google API, в частности OAuth, Google Analytics и Google Search Console API — жутчайший кусок говна, ничего хуже я еще в жизни не видел.
То же и про андроид. Куча способов сделать одно и тоже, половина не работает, из оставшейся половины — "рекомендуемый" способ работает только в пятницу 13-е. 100500 "deprecated" методов, при этом никто даже не почесался хотя бы ссылку поставить, чем оно deprecated. Camera API — лютый песец. Camera2 — вообще за гранью бобра и зла, а за код официальных демок нужно вообще в макдональдс отправлять. Пожизненно. Туалеты мыть.
Короче, все кагабычно