metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2007-11-16 05:41 pm

Жыдоиндусский Мелкософт

кусочек кода примера с их сайта:

if(message.GetType() == typeof(SoapServerMessage))


Никто не знает, почему они не написали так:

if(message is SoapServerMessage)

[identity profile] gsbelarus.livejournal.com 2007-11-16 04:01 pm (UTC)(link)
(message is SoapServerMessage) вернет True для SoapServerMessage и всех его наследников, а первое сравнение -- проверяет, чтобы message был именно SopaServerMessage и ничем иным.

[identity profile] soko1.livejournal.com 2007-11-16 04:14 pm (UTC)(link)
потому что тупым жЫдам нужно не качество кода, а маркетинг и деньги, деньги...

[identity profile] metaclass.livejournal.com 2007-11-16 04:34 pm (UTC)(link)
Правильный способ в данном случае is, а в том примере это не первая ошибка.

[identity profile] kkirsanov.livejournal.com 2007-11-16 05:04 pm (UTC)(link)
Я под Windows Media Encoder софт писал.
Где то треть примеров из SDK не работает, а половина возникающих ошибок имеет восьмизначный номер и находится гуглом только на китайско-индусских форумах.

[identity profile] sergiej.livejournal.com 2007-11-16 05:28 pm (UTC)(link)
А что первый пример не работает? Работает медленнее? Создаёт проблемы?

[identity profile] kong-en-ge.livejournal.com 2007-11-16 05:46 pm (UTC)(link)
Я бы сказал, что он более громоздкий в записи и -- соответственно -- отвлекает от сути.

[identity profile] sergiej.livejournal.com 2007-11-16 05:56 pm (UTC)(link)
Уж так ли сильно отвлекает? Код нормальный, если результат работы и производительность абсолютно идентичны (а мне кажется в этом случае оно так и есть) то красота самого кода дело десятое, людям надо работать а не красоту ваять.

[identity profile] henu3detb.livejournal.com 2007-11-16 06:01 pm (UTC)(link)
О! А еще говорят, что опенсорс - зло!

[identity profile] kong-en-ge.livejournal.com 2007-11-16 06:04 pm (UTC)(link)
Лично у меня код, написанный по принципу "работает и ладно", раздражает. Ибо такой код -- первый признак разрухи в голове, которая непременно вылезет еще где-нибудь.

[identity profile] sergiej.livejournal.com 2007-11-16 06:23 pm (UTC)(link)
Меня он тоже немного раздражает, но раз он работает ничуть не хуже кода который меня не раздражает я не придираюсь, если кто будет делать аудит этого кода он может отметить что можно было красивее. Но неужели у вас так мало проблем с банально НЕРАБОТАЮЩИМ правильно кодом, чтобы придираться к таким мелочам?

[identity profile] vp.livejournal.com 2007-11-16 06:27 pm (UTC)(link)
Это не мелочи. Уже ж ответили: это признак бардака в голове и низкой квалификации. Нам нраивится, что будут говорить, что "ваша система писана на коленках студентами-идиотами" ? :)

[identity profile] sergiej.livejournal.com 2007-11-16 06:36 pm (UTC)(link)
У вас явный избыток хороших кадров, только позавидовать. Вы перфекционисты, я этих майкрософтов особо не знаю, но на фоне "средней" которую я постоянно наблюдаю у наших восточных коллег, этот код http://progtutorials.tripod.com/soapext.htm выглядит вполне прилично.
Никто никому не будет говорить что система написана студентами идиотами, клиента этот код абсолютно не волнует, его волнует его работоспособность и цвета на кнопочках в гуёвине.

[identity profile] kong-en-ge.livejournal.com 2007-11-16 06:37 pm (UTC)(link)
Я считаю, что применение нестандартных приемов должно быть внятно мотивировано комментарием в коде. Просто чтобы после не задаваться как [livejournal.com profile] metaclass вопросами: "а с каких хуев нужно было писать именно так?!"

[identity profile] kong-en-ge.livejournal.com 2007-11-16 06:38 pm (UTC)(link)
Вопрос не в волнениях клиента, а в себестоимости сопровождения.

[identity profile] sergiej.livejournal.com 2007-11-16 06:45 pm (UTC)(link)
А если это обоснованный "хак" то тут мы попадаем в область за которую наших восточных коллег убивать мало. Привычное дело что комменты стоят о полных глупостях которые комментировать никому не надо, зато если этот нестандартный кусочек найден потом и кровью, и никому не понятно с ходу зачем оно так, то никакого коммента стоять не будет, потому что восточные коллеги очень ревностно относятся к своему ноухау (может потому что оно у них короткое) и его принято прятать а не выставлять и всем подряд объяснять.

[identity profile] sergiej.livejournal.com 2007-11-16 06:50 pm (UTC)(link)
Специфики вашей я не знаю, у нас клиент платит за сопровождение, чем сложнее саппорт тем лучше финансовый результат :)

[identity profile] kong-en-ge.livejournal.com 2007-11-16 06:58 pm (UTC)(link)
Я говорил именно про себестоимость, а не про надувание щек и стоимости услуг перед заказчиком.

[identity profile] nvm.livejournal.com 2007-11-16 06:58 pm (UTC)(link)
да это не хак, это вполне внятная строчка. Из неё ясно, что по каким-то личным причинам автор кода хотел убедиться, что message имеет тип именно SoapServerMessage, а не какого-то его наследника. Другой вопрос, зачем оно ему понабобилось, тут без контекста не разберёшься.

[identity profile] ktn-zoidberg.livejournal.com 2007-11-16 08:29 pm (UTC)(link)
скорей всего код таки спортирован с какогонить VB

[identity profile] metaclass.livejournal.com 2007-11-16 08:38 pm (UTC)(link)
Кстати, да - очень большое количество нетривиальных вопросов по программированию задаваемых гуглу, приводит в какие-то дебри индии или китая.

[identity profile] metaclass.livejournal.com 2007-11-16 08:45 pm (UTC)(link)
Проблема потенциальная - такой код может сломаться, если кто-нибудь унаследуется от SoapServerMessage и впихнет экземпляр наследника при посылке. Мне такая практика кажется вполне легитимной. Второй вариант так же читабельнее.
И вообще, если автор кода хочет знать, что это именно тот класс что он хочет, а не его наследник - у автора очевидные змеи в голове, ибо это нарушение ООП, согласно канонам которого, наследники должно быть можно подсовывать всюду, где нужны базовые классы.

[identity profile] kkirsanov.livejournal.com 2007-11-21 12:29 am (UTC)(link)
Кстати, просматирваю нововведения новой ВижуалСтудии 2008, а там - Lambda Expressions

[identity profile] metaclass.livejournal.com 2007-11-21 08:06 am (UTC)(link)
Да, я уже читал, что туда пользы всякой добавили.