Адский холивар
Jul. 19th, 2009 03:24 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
На тему "зачем нужен reflection и метаданные, если все можно писать вручную в коде".
Это пиздец, граждане. Я подозревал, что есть люди абстрагированные от мира реальной разработки и его проблем, но не подозревал, что настолько.
ссылко 1
ссылко 2
zabivator и второй персонаж оттуда усиленно убеждают, что ничего этого не нужно, а потом комментом ниже предлагают решения, которые являются ничем иным, как закатом солнца реализацией рефлекшена и метаданных вручную.
Я тут сижу, думаю, как бы это вообще всю эту метаданную жопу вынести на уровень модели и генерить из нее код, затем мержить с написанной вручную нетривиальностью и таким образом избавится от 1000-кратного писания одного и того же кода "база данных->sqlreader->поле объекта->веб-сервис->поле объекта на клиенте->элемент гуя->поле объекта->веб-сервис->поле объекта->sqlparameter->база данных". Потому что у меня за пару дней может база на 3-5 таблиц увеличится, в каждой по 10-20 полей, и это все надо выставить юзеру на редактирование, да еще красиво, с подписями на трех разных языках и чтобы работать можно было и с мыши и с клавиатуры и чтобы не тормозило, и чтобы неправильных данных при всем желании запилить нельзя было.
А народу пофег, как я посмотрю. Нужно конфиг руками читать - читают. Понадобится изменения сделать - будут дописывать case в switch или там if/else и молиться, что остальные команды разработчиков код сохранения не поломают, и что имена будут одинаковые.
Видимо, я что-то в современной софторазработке и принятой в ней эффективности работы отдельных разработчиков не понимаю.
Это пиздец, граждане. Я подозревал, что есть люди абстрагированные от мира реальной разработки и его проблем, но не подозревал, что настолько.
ссылко 1
ссылко 2
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Я тут сижу, думаю, как бы это вообще всю эту метаданную жопу вынести на уровень модели и генерить из нее код, затем мержить с написанной вручную нетривиальностью и таким образом избавится от 1000-кратного писания одного и того же кода "база данных->sqlreader->поле объекта->веб-сервис->поле объекта на клиенте->элемент гуя->поле объекта->веб-сервис->поле объекта->sqlparameter->база данных". Потому что у меня за пару дней может база на 3-5 таблиц увеличится, в каждой по 10-20 полей, и это все надо выставить юзеру на редактирование, да еще красиво, с подписями на трех разных языках и чтобы работать можно было и с мыши и с клавиатуры и чтобы не тормозило, и чтобы неправильных данных при всем желании запилить нельзя было.
А народу пофег, как я посмотрю. Нужно конфиг руками читать - читают. Понадобится изменения сделать - будут дописывать case в switch или там if/else и молиться, что остальные команды разработчиков код сохранения не поломают, и что имена будут одинаковые.
Видимо, я что-то в современной софторазработке и принятой в ней эффективности работы отдельных разработчиков не понимаю.
no subject
Date: 2009-07-19 12:49 pm (UTC)no subject
Date: 2009-07-19 12:55 pm (UTC)no subject
Date: 2009-07-19 12:58 pm (UTC)Нужно идти в менеджеры :)
no subject
Date: 2009-07-19 01:00 pm (UTC)а программирование это мелко и скучно =)
no subject
Date: 2009-07-19 01:04 pm (UTC)no subject
Date: 2009-07-19 01:08 pm (UTC)(no subject)
From:no subject
Date: 2009-07-19 05:31 pm (UTC)no subject
Date: 2009-07-19 01:03 pm (UTC)я вот смотрю на наших жабистов, и от их решений у меня на голове волосы дыбом становятся. а тоже ведь реальная разработка :-)
jedem das seine
Date: 2009-07-19 01:07 pm (UTC)Re: jedem das seine
Date: 2009-07-19 01:10 pm (UTC)Re: jedem das seine
Date: 2009-07-19 01:56 pm (UTC)Re: jedem das seine
Date: 2009-07-19 02:13 pm (UTC)Re: jedem das seine
Date: 2009-07-20 12:14 am (UTC)Эффективность джаваиндусской разработки сильно преувеличена. Быстрее
И стоит это дороже, чем своих программистов держать.
P.S. Информация от крупного и постоянного американского заказчика аутсорса в известной идусской конторе.
Re: jedem das seine
From:Re: jedem das seine
From:no subject
Date: 2009-07-19 01:31 pm (UTC)С конфигом вроде еще проще - забил грамматику, оно тебе разобрало в какую надо структуру.
Рефлексия вообще не вперлась, если структура конфига в рантайме не меняется. Какой еще свич-кейс?
no subject
Date: 2009-07-19 01:37 pm (UTC)Field1=ReadIniStr("Section","Name1");
Field2=ReadIniStr("Section","Name2");
итд, и поддерживать это ручками в живом состоянии при изменениях
no subject
Date: 2009-07-19 01:45 pm (UTC)Там тристакамментоф, ниасилю.
no subject
Date: 2009-07-19 02:05 pm (UTC)no subject
Date: 2009-07-19 06:22 pm (UTC)Если код ещё не написан, то где получить его метаинформацию?
Или написан, но исходники не даются?
Да и просто, где и как её получать -- есть стандартные тулы для всех платформ?
no subject
Date: 2009-07-19 06:56 pm (UTC)Или зайти с другой стороны - генерировать код из DDL.
no subject
Date: 2009-07-19 07:31 pm (UTC)САМОМУ??? В 2009 ГОДУ???
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-07-19 02:56 pm (UTC)no subject
Date: 2009-07-19 03:18 pm (UTC)no subject
Date: 2009-07-19 03:49 pm (UTC)no subject
Date: 2009-07-19 04:25 pm (UTC)no subject
Date: 2009-07-19 04:29 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From: