Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Задачки на подумать

02.06.17 10:53
Re: Задачки на подумать
 
Программист коренной житель
в ответ AlexNek 01.06.17 22:45
Мне нравится InnoSetup и в текущей конторе его тоже пользуют.

И там решена проблема с reference counter?


Но в любом случае инсталлер не должен создавать ситуаций когда дальнейшая работа с ним невозможна.

Что значит не должен? Инсталлер - это инструмент, его можно использовать правильно и тогда все работает как надо, а можно косячить и тогда все работает кое-как. Это как фотоаппарат :) Шедевры же делает не камера ;) И на самую дорогую камеру можно снять говно :) Любым инструментом надо уметь пользоваться. А систему можно убить и с InnoSetup (у нас на прошлой работе, кстати, так и сделали :D)


сейчас, грубо говоря, делаем dir "*.exe,*.dll" и выводим доступную информацию о каждом файле. Номер версии, дата создания и пр.
Для ГАКа такой способ уже на канает

А зачем это может понадобиться? Нет, я понимаю, что вы инсталлируете хрензнает что методом простого копирования файлов из папки с флэшки сразу в продакшен... и там действительно хрен поймешь, что за горы файлов находятся в системе... Я даже больше чем уверен, что апдейт вы делаете путем простого перезаписывания старых файлов (собственно говоря InnoSetup только так и умеет, ну еще версию может проверить). А еще у вас наверняка периодически случаются даунгрейды (InnoSetup за это тоже любим)... Ясное дело, что через какое-то время система будет настолько засрана, что только руками можно будет разгрести.


Уверены? Многие либы специально делаются так чтобы этих ИД было как можно меньше.

Да, я уверен. ВинФормс работает на ID. Можешь почитать про WindowsProc. Просто используют одни и теже номера, но ИД должен быть уникальным на форме.


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

Ну во-первых, в данном случае речь о простых контролах. Зачем ты приплетаешь сюда графические редакторы?

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


Да даже если пользовать только стандартные всё что хочешь не сделаешь. На одном из проектов шеф только этим и занимался (поиском подходящей тулзы) - нифига не нашел.

Я не знаю что твой шеф искал. Если код был ваш, то контролы можно искать перебирая AutomationID (понятно, что они должны быть уникальными). Тем более, если программу вы сами писали. Уж можно было сделать так, чтобы программа была тестируема ;)


И каким образом? Кинуть команду контроллеру и проверить отклик во вьюве? Маловато будетъ....

Зачем? Делаешь простой юнит-тест обработчика сообщения/эвента и все.

 

Перейти на