metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-07-19 03:24 pm

Адский холивар

На тему "зачем нужен reflection и метаданные, если все можно писать вручную в коде".
Это пиздец, граждане. Я подозревал, что есть люди абстрагированные от мира реальной разработки и его проблем, но не подозревал, что настолько.

ссылко 1
ссылко 2

[livejournal.com profile] zabivator и второй персонаж оттуда усиленно убеждают, что ничего этого не нужно, а потом комментом ниже предлагают решения, которые являются ничем иным, как закатом солнца реализацией рефлекшена и метаданных вручную.

Я тут сижу, думаю, как бы это вообще всю эту метаданную жопу вынести на уровень модели и генерить из нее код, затем мержить с написанной вручную нетривиальностью и таким образом избавится от 1000-кратного писания одного и того же кода "база данных->sqlreader->поле объекта->веб-сервис->поле объекта на клиенте->элемент гуя->поле объекта->веб-сервис->поле объекта->sqlparameter->база данных". Потому что у меня за пару дней может база на 3-5 таблиц увеличится, в каждой по 10-20 полей, и это все надо выставить юзеру на редактирование, да еще красиво, с подписями на трех разных языках и чтобы работать можно было и с мыши и с клавиатуры и чтобы не тормозило, и чтобы неправильных данных при всем желании запилить нельзя было.

А народу пофег, как я посмотрю. Нужно конфиг руками читать - читают. Понадобится изменения сделать - будут дописывать case в switch или там if/else и молиться, что остальные команды разработчиков код сохранения не поломают, и что имена будут одинаковые.

Видимо, я что-то в современной софторазработке и принятой в ней эффективности работы отдельных разработчиков не понимаю.

[identity profile] metaclass.livejournal.com 2009-08-08 08:53 am (UTC)(link)
Я тебе точно скажу: за два дня ты напишешь только DSL, который работу упростит на ближайшую неделю, а усложнит тебе и тем, кто придет после тебя - на 10 лет вперед.

1) Адекватное проектирование даже простых вещей занимает от недели до месяца. А тут язык - вещь очевидно сложная
2) Реализация, отладка и иногда возврат и перепроектирование - еще неделю-две.
3) Интеграция этого с остальными процессами разработки. Вкрутить очередной тул в процесс билда и тестирования.
4) Документация

За два дня можно нахачить только поделку. А нормальная реализация займет столько времени, что проще будет на обычном языке все сделать, заодно, не будет проблем "где брать людей, которые смогут это понять".