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

Вопрос к тестировщикам

5427   5 6 7 8 9 10 11 12 13 14 15 все
MrSanders коренной житель12.08.19 15:18
NEW 12.08.19 15:18 
в ответ Программист 12.08.19 14:26

Не прошёл мимо: да вы оба не знаете что такое "continuous integration"! :)

Murr патриот12.08.19 18:08
Murr
NEW 12.08.19 18:08 
в ответ Программист 12.08.19 14:26

Если их нет, значит все работает так, как описано в спецификации IP протокола.

-----

Именно. Как описан в спецификации TCP/IP. Никаких отклонений, никаких ошибок.

Кроме этого - все описанные ошибки TCP/IP протокола аккуратно обрабатываются.

Готов поклястся на Библии, что там сделано все что возможно в этом плане.


он также не может определить, что проблемы именно из-за ZigBee.

-----

Ну и как же ты тогда будешь решать проблему обмена данными между двумя точнками?

Ведь у людей - работает. У меня, черт его дери, в сильно упрощенном виде - работает.

А у тебя - нет, не работает и нет никаких ошибок. И просто не работает и все. хаха

И когда тебе говорят об проблеме - ты проверяешь ехцептионы в своем коде.

А их, ехцептионов - нет - все работает штатно, как должно.

Точнее - не работает именно так как должно.

В силу непонимания неоднородности сети и имеющихся ограничений.


По поводу - определить - ты существенно не прав.

Причем не прав аж со времен телетайпов - даже тогда существовала возможность нажать кнопарики "Кто Там?". Это только на уровне сокета открыл/закрыл по ИП+ПОРТ.

Ну да не будем о грустном - не твоя работа определить что используемый рутер вышел из зоны уверенного приема и надо либо увеличивать мощность передатчика ближайшего устройства, либо искать новый маршрут, либо сажать сеть шировещательным запросом видимости устройств - твой код идеально корректно и совершенно бесполезно работает с сокетом - ничего другого ты просто не хочешь знать.



и не пытается наводить порядок там, где зона ответственности других специалистов.

-----

Данная стейтмента имеет сильное противоречие с заявкой об том, что админы мудаки. Особенно в виду неподкрепленности ссылкой на другую сертифицированную возможность.

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



а у тебя нет

-----

К несчастью - у меня - работает.

И с дубликатом ИП, и с ZigBee - все, зараза такая, пашет... хотя и не быстро.


По ZigBee, кстати, есть еще одна смешная штука.

Тоже может использоваться для демонстрации порочности замыкания в собственном коде.

Протокол, точнее - известные мне имплементации, является "грязным" - ты можешь, как на клиенте, так и на сервере получать недостоверную информацию.

Определить что именно получено - инфа или туфта - можно... почти всегда. Ну то есть за исключением тех случаев когда нельзя. Вот эти нельзя и интересуют.

Вот теперь нарисуй мне примитивный тестик - заглушка выдает константную строку в ZigBee-формате.

Тест должен определить корректно ли обрабатывается полученное.

Тут именно как ты настаиваешь, без отклонений - чисто твой код.

Напомню - там всегда возвращается константа, но в одном случае это инфо, а в другом - туфта...

Поборешься? В смысле - без изучения всяких внешних глупостей, чисто в своем коде... улыб


к тому же не знаешь

-----

Я знаю, что Я много чего еще не знаю.

Но Я, все же, имею шанс что-то самостоятельно узнать хотя бы часть, а не сидеть и ждать ехцептиона,которого не будет...

AlexNek патриот12.08.19 18:57
AlexNek
NEW 12.08.19 18:57 
в ответ Программист 12.08.19 07:07
пока ты не поймешь, зачем нужны юнит-тесты

пока что особых проблем с ними не было, пока кто-то не стал меня убеждать, что только юнит тесты мне и помогут в данных ситуациях и все проблемы исключительно в моих хреновых приложениях.

Может Вы с адмиралом на пару, приведете мне пример юнит теста для моего xamarin кода который будет проверять смогу ли я установить мой код на моем смартфоне, а то я такой тупой что никак не догоняю как это все связать вместе. Я даже согласен на пример любого теста который сможет это действительно проверить.

Программист коренной житель13.08.19 08:04
NEW 13.08.19 08:04 
в ответ Murr 12.08.19 18:08
Именно. Как описан в спецификации TCP/IP. Никаких отклонений, никаких ошибок. Кроме этого - все описанные ошибки TCP/IP протокола аккуратно обрабатываются.Готов поклястся на Библии, что там сделано все что возможно в этом плане.

Если в твоем коде ошибок нет и он работает в соответствии с заданной спецификацией, значит все ОК.


А у тебя - нет, не работает и нет никаких ошибок.

Это у тебя не работает.


не твоя работа определить что используемый рутер вышел из зоны уверенного приема и надо либо увеличивать мощность передатчика ближайшего устройства, либо искать новый маршрут, либо сажать сеть шировещательным запросом видимости устройств - твой код идеально корректно и совершенно бесполезно работает с сокетом - ничего другого ты просто не хочешь знать.

Еще раз повторюсь: ты смешиваешь разные вещи в одну проблему. В твоем примере есть две области: 1) твой софт, который работает на железке у клиента и 2) окружение, т.е. сеть, в которой работает железка, на которой работает твой софт.

Так вот, по твоему описанию, проблема не в софте, а в окружении. И тут есть 2 способа решения возникшей проблемы:

1) ты говоришь, что твоя часть сделана (т.е. твой софт удовлетворяет спецификации) и клиент сам должен настроить окружение так, чтобы не было конфликтов

2) ты договариваешься с клиентом и наличие ZigBee устройств в сети становится частью спецификации, т.е. изменяются требования к твоему софту в результате чего софт перестает удовлетворять спецификации. После этого можно начинать думать, как обойти проблему. Т.е. надо погружаться в имеющуюся проблему и пытаться решить ее программным способом. Однако, факт в том, что если есть понимание проблемы и понимание того, как эту проблему можно программно решить, значить ее можно и протестировать. И тестирование нужно не для того, чтобы найти ту или иную проблему, а для того, чтобы убедиться, что софт соответствует спецификации.


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

Моя зона ответственности ограничивается спецификацией на софт.


У меня шеф такой же как ты. Считает, что любые проблемы он должен решить сам. Это просто пипец какой-то. Сейчас вот был "баг", программа выкидывает исключение, что мол "нет папки R:\Backup". Смотрю, говорю, сетевой диск не замаплен, поэтому диска R нет, от сюда исключение. Ошибки нет. Все работает так, как должно. Чтобы доказать это, добавляю диск R - все работает. Через полчаса опять приходит шеф и говорит "Ты зашел под своим аккаунтом, а надо было под доменным". Твою мать! Софт работает! Говорю ему, что значит под доменным аккаунтом этого маппинга нет. Он утверждает, что есть. Смотрим - маппинг есть. Смотрим как он это дело запускает. И оказывается, что он запускает это на класторе с SYSTEM правами. Значит, говорю, у SYSTEM'a нет маппинга на R. И знаешь что он мне заявляет? Говорит, что он не хочет подключать админов и выяснять можно ли добавить маппинг диска для SYSTEM.

Т.е. что мы тут видим? Есть рабочий софт и есть окружение, которое блокирует работу софта. Причины, по которой работа заблокирована известна, устранить программно эту причину нельзя. Зато устранить ее могут (и должны) админы. Так какого хера ты не идешь к админам? Пусть они делают свою работу.


Протокол, точнее - известные мне имплементации, является "грязным" - ты можешь, как на клиенте, так и на сервере получать недостоверную информацию.Определить что именно получено - инфа или туфта - можно... почти всегда. Ну то есть за исключением тех случаев когда нельзя. Вот эти нельзя и интересуют.Вот теперь нарисуй мне примитивный тестик - заглушка выдает константную строку в ZigBee-формате.Тест должен определить корректно ли обрабатывается полученное. Тут именно как ты настаиваешь, без отклонений - чисто твой код.

Давай спецификацию и мое время стоит 100Евро/час.

Программист коренной житель13.08.19 08:53
NEW 13.08.19 08:53 
в ответ AlexNek 12.08.19 18:57
Может Вы с адмиралом на пару, приведете мне пример юнит теста для моего xamarin кода который будет проверять смогу ли я установить мой код на моем смартфоне, а то я такой тупой что никак не догоняю как это все связать вместе.

Никто не будет тратить свое время на написание юнит-тестов за тебя :) Это во-первых.

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


Юнит-тесты исключают взаимодействие с окружением.

Murr патриот13.08.19 10:54
Murr
NEW 13.08.19 10:54 
в ответ Программист 13.08.19 08:04

Это у тебя не работает.

-----

Ну Я же тебе написал где именно у тебя "не работает" и даже написал почему.

Но у тебя по-прежнему упор на обработку ошибок TCP/IP... без учета специфики сети.

Поверь - не работает - именно при твоем подходе.

Если точнее - ты можешь вылизать код на 100% код обмена по TCP/IP - работать не будет.


Т.е. надо погружаться в имеющуюся проблему

если есть понимание проблемы и понимание того

-----

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


Ошибки нет.

------

Ошибка... есть исключение => уже есть ошибка... (Ну Я надеюсь, что ты не пользуешься исключениями как способом управления работой прожки).


устранить программно эту причину нельзя.

------

Господи, какие глупости... один запрос к контроллеру домена и все твои права у тебя на блюдечке.


У меня более одного домена. У меня проги работают с подмапленными дисками из разных доменов.

Никаких проблем ни с проверкой/созданием учетки для прог, ни с подмапливанием дисков не возникает.

Единственная проблема - удаленная машина/сеть физически в дауне - тогда все пишется локально.

И не надо говорить что это сложно - это ничуть не сложнее всего остального... если понимаешь с чем работаешь.



Так какого хера ты не идешь к админам? Пусть они делают свою работу.

------

Да потому что от тебя ожидают выполнение прогерской работы - корректную запись данных.

На подмапленные диски значит на подмапленные - корректно, а не в соответствии с ошибками в спецификации.

Ну а тебе "лениво" изучить пробемы окружения и ты все спихиваешь на админов.


Давай спецификацию

-----

Даю.

У тебя есть два числа - 10 (левое) и... 10 (правое).

Одно из них - правильное, другое - неправильное.

Тебе нужно их протестировать и сказать какое из них правильное, а какое - нет.

В точном соответствии с твоими требованиями - полностью опущены вопросы окружения.

Да, достаточно указать алгоритм определения.



стоит 100Евро/час.

------

Ок.

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

Неустойка на первые 1000 часов - 100евро/час, далее - 1000евро в день.

Время пошло. смущ





Программист коренной житель13.08.19 12:09
NEW 13.08.19 12:09 
в ответ Murr 13.08.19 10:54
Поверь - не работает - именно при твоем подходе.
Если точнее - ты можешь вылизать код на 100% код обмена по TCP/IP - работать не будет.

Код, в котором нет ошибок работает без ошибок. Я даже не понимаю, как с этим можно спорить.

Вот если тебе дать книжку на японском языке, при этом мы точно знаем, что в книжке нет ни одной ошибки, то хрен ты сможешь понять, что там написано. Но это не проблема книжки. Книжка идеальна. Это ты не знаешь японского и это твоя проблема, а не издателя книжки.


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

Я не понимаю, зачем ты вырываешь слова из контекста. Все это было ксазано к этому:

2) ты договариваешься с клиентом и наличие ZigBee устройств в сети становится частью спецификации, т.е. изменяются требования к твоему софту в результате чего софт перестает удовлетворять спецификации.

Ты же утверждал, что имеющийся код спецификации удовлетворяет.


Ошибка... есть исключение => уже есть ошибка... (Ну Я надеюсь, что ты не пользуешься исключениями как способом управления работой прожки).

Что ты понимаешь под "способом управления"?

Что-то такое:

public void BindNodes (INode node1, INode node2)
{
   if (node1 == null || node2 == null)
    throw new ArgumentNullException ("Nodes can't be null");

   if (node1.BindedNode.Equal(node2))
     throw new BindingException ("You can't bind nodes twice.");
   
   if (node2.IsBindable == false)
     throw new BindingRestrictionException ("Node2 can't be binded at all");

   node1.BindedNode = node2;
}

это способ управления? или это генерация ошибок?


Господи, какие глупости... один запрос к контроллеру домена и все твои права у тебя на блюдечке.

У меня клиенты - казино, там не то, чтобы права на блюдечке не дадут, там через службу безопасности надо каждый порт открывать.


У меня более одного домена. У меня проги работают с подмапленными дисками из разных доменов.
Никаких проблем ни с проверкой/созданием учетки для прог, ни с подмапливанием дисков не возникает.

Конечно, потому что занимается всем этим не твой код, а админ создал тебе все условия. Ну может быть ты на локальной машине вызываешь "net use ..."


Единственная проблема - удаленная машина/сеть физически в дауне - тогда все пишется локально.

Это требование к софту (которое, кстати, можно протестировать юнит-тестами :D :D :D)


Да потому что от тебя ожидают выполнение прогерской работы - корректную запись данных.

Вот я свою работу и выполнил - данные записываются. И багов нет.


На подмапленные диски значит на подмапленные - корректно, а не в соответствии с ошибками в спецификации.

А это совершенно не важно, подмаплен диск или нет. Есть некий путь, это может быть локальный диск, подмапленый или любой другой UNC путь. И этот путь либо есть, либо его нет. И если его нет, то проге совершенно наплевать почему этого пути нет. Что делать дальше описано в спецификации. Это может быть просто запись в логе и игнор (в моем случае), это может быть запись в локальную папку и последующая синхронизация (в твоем случае) (кстати, интересно, что ты будешь делать, если локальный диск забит и возможности записать нет. корректтное поведение программы в этом случае легко проверяется юнит-тестом), это может быть также ручной вызов "net use ..." или просто показать мессадж бокс и ждать реакции юзера.

В спецификации тоже могут быть ошибки, но это не повод отходить от спецификации. В конце концов, даже конституцию можно менять, так что и спецификация тоже может меняться. Ничего страшного в этом нет. Но софт должен соответствовать спекам.


Давай спецификацию
-----
Даю.
У тебя есть два числа - 10 (левое) и... 10 (правое).
Одно из них - правильное, другое - неправильное.
Тебе нужно их протестировать и сказать какое из них правильное, а какое - нет.

Теперь понятно, от куда у тебя берутся "пятничные вопросы" и почему тебе все время хочется какой-нибудь хрени :)


Время определяется по минимально необходимому количеству нажатых кнопок.
Неустойка на первые 1000 часов - 100евро/час, далее - 1000евро в день.

Ты что сказать-то хотел?

Murr патриот13.08.19 13:31
Murr
NEW 13.08.19 13:31 
в ответ Программист 13.08.19 12:09

Код, в котором нет ошибок работает без ошибок.

-----

Хи-хи...

Код, достигающий заданных результатов в возможных условиях является работающим кодом.


Ты же утверждал, что имеющийся код спецификации удовлетворяет.

-----

Я утверждал, что код корректно работает с TCP/IP. Не более.

Кроме этого Я утверждал, что код, несмотря на отсутствие ошибок, не выполняет необходимую работу.

При этом ты доказывал, что все что за пределами кода не представляет интереса для прогера/тестера.

Тебе просто была дана ситуация когда проблема ВНЕ твоего кода и у тебя не оказалось решения для проблемы.


В спеку, кстати, добавлять ничего не требуется - в спеке есть упоминание об том, что будут пересылаться

именно ZigBee-команды. Остальное надо было либо знать, либо досконально изучать.


Что ты понимаешь под "способом управления"?

------

Ну ты же, например, не используешь исключение для выхода из вложенных циклов?

Ну или из рекурсии...


там через службу безопасности надо каждый порт открывать.

-----

Угу - т.е. к админам - не надо...


потому что занимается всем этим не твой код

-----

Угу... будет админ бегать по предприятию (а это - километры) и переподмапливать слетевшие диски на станочной программе.

Все делается программно. И даже не удаленно, а просто локально.


данные записываются.

-----

Ну и куда ты записал данные?

Я не имею в виду информацию об ошибке, а именно - данные.

Откуда Я их прочитаю после перезагрузки станции?



Но софт должен соответствовать спекам.

-----

Мы опять вернемся к вопросу об дублировании ИП в сети и неоднозначном результате операций в такой сети.

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



Что делать дальше описано в спецификации.

-----

Родной, у меня в спеках написано как должен выглядеть АРМ.

Внешний вид ящика, положение в нем компа, куда нельзя ставить монитор.

Из остального - частично описано содержимое файла конфигурации.

Частично. Потому как полный набор - надо выковыривать из кода.

Даже то, как получить доступ к форме с настройками - тоже надо искать в спагетти-коде.

Все - в точном соответствии с квалификацией исполнителей делавших спеку.



понятно, от куда

------

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



это способ управления? или это генерация ошибок?

-----

Непонимание задачи.

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



Ты что сказать-то хотел?

-----

Что вернемся к этому позднее, когда под лимон натикает... спок

Программист коренной житель13.08.19 14:23
NEW 13.08.19 14:23 
в ответ Murr 13.08.19 13:31
Код, достигающий заданных результатов в возможных условиях является работающим кодом.

Пример с книжкой я тебе привел.


Я утверждал, что код, несмотря на отсутствие ошибок, не выполняет необходимую работу.

Это не из-за ошибок в коде, а из-за проблем в окружении. Код на окружение влиять не может.


В спеку, кстати, добавлять ничего не требуется - в спеке есть упоминание об том, что будут пересылаться именно ZigBee-команды. Остальное надо было либо знать, либо досконально изучать.

Все чудесатее и чудесатее :) Т.е. ты выкатил клиенту софт, который не соответствует заданным условиям :) Красавец, чо? :)


Ну ты же, например, не используешь исключение для выхода из вложенных циклов?Ну или из рекурсии...

Почему нет? Зависит от контекста. Например, рекурсивно удалять папки и прекратить удаление, если одну из папок (по какой-либо причине) удалить нельзя. В этом случае выход из рекурсии будет по исключению.


Угу - т.е. к админам - не надо...

Сначала к безопасникам, потом админы включат порт. Меня эта процедура вообще не волнует.



Угу... будет админ бегать по предприятию (а это - километры) и переподмапливать слетевшие диски на станочной программе.Все делается программно. И даже не удаленно, а просто локально.

Ну если ему не в падлу бегать, то пусть бегает. Но вообще есть удаленный доступ. Или же можно расширить спек и описать, каким образом софт должен определять какой путь куда мапить.


Откуда Я их прочитаю после перезагрузки станции?

Да, мне вот тоже интересно, от куда ты их прочитаешь, если у тебя диск переполнен?


Мы опять вернемся к вопросу об дублировании ИП в сети и неоднозначном результате операций в такой сети.

Дублирование ИП в сети - это не проблема софта. Сколько раз тебе это надо повторять?


Толку от того, что софт соответствует спекам

Ясен хер, от соответствующего спекам софта нет никакого толку :)



у меня в спеках написано как должен выглядеть АРМ.
Внешний вид ящика, положение в нем компа, куда нельзя ставить монитор.

Ну т.е. в спеках у тебя всякая хренотень, которая не имеет отношения к продукту.


Непонимание задачи.
При понимании задачи у тебя не должно создаваться необходимости данных проверок.

:) Я так понимаю, что проверки эти надо делать до того, как вызывать указанную функцию. Или их вообще не надо делать?

MrSanders коренной житель13.08.19 15:23
NEW 13.08.19 15:23 
в ответ AlexNek 12.08.19 18:57, Последний раз изменено 13.08.19 15:26 (MrSanders)
Может Вы с адмиралом на пару, приведете мне пример юнит теста для моего xamarin кода который будет проверять смогу ли я установить мой код на моем смартфоне

Тут и адмирал не справится. Тут маршала Яжговорил звать надо. Сформулированую в этом предложении задачу решить юнит тестом невозможно.

P.S. И никто не говорил что можно.


Щас попробуем так.

1. Вася пишет программку.

2. Вася ставит программку на телефон.

3. Программка не работает.

4. Вася ищет причины, по которой она не работает.

5. (предположим) Вася находит что причина - в использовании в классе "понты" метода "фигня()" из библиотеки "мелкософт_утилз".

(до сих пор никаких следов юнит тестов, заметили?)

6. Вася убирает из кода вызовы "фигни"

7. Везде, где видит что используется "мелкософт_утилз" пишет юнит тесты, в которых подменяет "фигню" моком / фейком, который при вызове ломает тест.

(ура! появились юнит тесты!)


Что это даст Васе? Что ситуация из п. 3 не повторится. Стоит ему поменять тестируемый код и (случайно) вызвать "фигню", как его тест станет красненьким. И он увидит что надо править.


Может ли случится новая ошибка? Например, из-за несовпадений версий библиотеки "бздыщь" в Васином IDE и на его телефоне?

Может.


А из-за того что на телефоне помяти не хватает?

Может.


Поможет тут тест на "фигню"?

Нет.


А зачем его писать?

Чтобы сэкономить время на деплоймент и убедиться что не повторил уже известную ошибку.

Murr патриот13.08.19 15:48
Murr
NEW 13.08.19 15:48 
в ответ Программист 13.08.19 14:23

Это не из-за ошибок в коде, а из-за проблем в окружении.

-----

Ну и какая мне или менеджеру, не имеющему представленя об всей внутренней кухне, разница из-за чего не получен результат?

Я потому и говорю тебе - не работает - т.е. не дает ожидаемого. А чтобы давало - надо очень аккуратно изучать окружение.


Т.е. ты выкатил

------

Я ничего не выкатывал. Я за пару минут понял, что оно:

а) на 100% соответствует спеке

б) не будет работать.

Вот тебе уже третий день не могу объяснить почему оно не будет работать - у тебя недостаток знаний по ZigBee и заявленная ненужность изучения окружения не позволяет понять в чем неработоспособность идеально написанного кода.


Меня эта процедура вообще не волнует.

-----

Меня, однако, тоже. Только причина - другая - эта проблема не у меня - вот она меня и не волнует.



Дублирование ИП в сети - это не проблема софта.

------

Нее, не проблема... если, конечно, можно остановится и подождать... вот только поставленная задача - продолжать работать...



от куда ты их прочитаешь, если у тебя диск переполнен?

-----

Оттуда, откуда ты прочитаешь лог в этих же условиях.

Ты просто не понимаешь как оно организовывается на производстве - остановка производства - это уже ЧП, так что будем крутить-вертеть-обманывать - но сохраним данные. Особенно - критичные... если знаем где и как можно...



есть удаленный доступ.

------

Угу,,, который прекрасно работает на Вин98... ВинНТ, ДОСе...

И, кстати, не просвятишь по поводу того, почему с ВинХП на Вин98 можно зайти, а с Семерки - уже нет? Сеть - та же... Я пробовал найти что-то внятное из объяснений - не получилось. А это, кстати, реальная машинка, к которой надо регулярно наведываться и чистить диск локально... а по спекам - должно работать как и остальное...



в спеках у тебя всякая хренотень

------

Ну что у меня - хрень - это понятно.

Вопрос - надо код приводить в соответствие этой спеке? хаха



Или их вообще не надо делать?

-----

А как писали до появления ехцептионов?

Т.е. если у тебя есть гарантия того, что проверяемые условия выполняются - эти проверки - лишние.

А как именно и чем будет гарантироваться соответствие - это уже отдельный вопрос.


Вот - текучка.

Добавил к сайтику несколько ВБ-файликов.

Ничего сложного - взял с работающего сервака и засунул в проект сайта для отладки.

Теперь имею устойчивое падение Студии с криком - не могу далее справится со своими окнами...

Ну и каким образом вбшный файл компилируемый и запускаемый ИИСом приводит к падению Студии?

Что об этом говорят спеки мелкомягких? Что они там не допроверили настолько, что все падает от добавления файлика к сайту?



В этом случае выход из рекурсии будет по исключению.

------

Замечательно.

Ну а кто будет освобождать ресурсы задействованные на каждой итерации?

Особенно те, которые были аллоцированы не фреймворком...

Программист коренной житель13.08.19 16:24
NEW 13.08.19 16:24 
в ответ Murr 13.08.19 15:48
Я потому и говорю тебе - не работает - т.е. не дает ожидаемого. А чтобы давало - надо очень аккуратно изучать окружение.

Это последний раз, когда я повторяю тебе одну и туже мысль: Проблемы окружения не решаются программным способом. Изучать окружение можно сколько угодно подробно и находить причины проблем тоже. Но есть вещи которые нельзя изменить из кода. Например, появление в сети второго ИП. Ну нельзя это изменить. Хоть ты тресни.


продолжать работать...

ну так и продолжает.


будем крутить-вертеть-обманывать

вместо того, чтобы действовать строго по инструкции :)


Я пробовал найти что-то внятное из объяснений - не получилось.

Я бы напряг тех, кто в этом разбирается, т.е. дал бы админам заработать их деньги :)


надо код приводить в соответствие этой спеке?

Одно из двух - либо код приводить к спеке, либо спеку к коду. А вот писать отсебятину не надо :)


А как писали до появления ехцептионов?

Очевидно, что тогда использовали перфокарты.


если у тебя есть гарантия того, что проверяемые условия выполняются - эти проверки - лишние.

Какие гарантии в публичном методе? Да даже в приватном методе таких гарантий никто не даст. Завтра придет новый сотрудник и забудет проверить.


Что об этом говорят спеки мелкомягких?

Очевидно, что у тебя есть к ним доступ - возьми и почитай.


Ну а кто будет освобождать ресурсы задействованные на каждой итерации?

Примерчик плиз, а там будет видно как освобождать ресурсы.


Murr патриот13.08.19 17:54
Murr
NEW 13.08.19 17:54 
в ответ Программист 13.08.19 16:24

ну так и продолжает.

-----

Продолжает - это не отсутствие падения в связи с не обработанным ехцептионом.

Продолжает - это выполняет весь набор операционистики.


Ну нельзя это изменить.

-----

Ни и чего? Ну нельзя - пусть админы бегают и ищут где и чего там продублировалось.

Ну и продолжение работы, из-за такой мелочи как нарушение в функционирования сети, никто не отменял...



вместо того, чтобы действовать строго по инструкции :)

-----

И че? Если в инструкции написано - застрелится - будешь стреляться или сначала сломаешь стрелялку, потом из нее застрелишьсйa?



Какие гарантии в публичном методе?

-----

Да обычные, чернобелые в цветной горошек...



Завтра придет новый сотрудник и забудет

-----

Не забудет, а не будет знать какие условия и каким образом гарантировались.

Ибо для него это тоже "окружение", в котором он не должен разбираться...

И то, что ты выбросишь и как-то обработаешь исключение не сделает систему рабочей с смысле получения нужного результата.



Я бы напряг тех, кто в этом разбирается

-----

Ты полагаешь Я один ковырялся? Ну не нашлось в сети описания этой проблемы и ее решения.

Никто не понимает в чем именно состоит проблема.

Как прогер Я могу слепить что-нибудь на базе, но в обход существующей системы, но сказали - не надо.


И подобных проблем - много.



Одно из двух

-----

Из трех.

Третье - делай что должен и будет так как будет.

Лично Я не выдержу написание документации к 2 Гб спагетти-кода... даже на русском...



у тебя есть к ним доступ

-----

У тебя - тоже. И даже оперативная помощь экспертов имеется... => social.msdn.microsoft.com



Примерчик плиз

-----

Ну что-нибудь из вот этой группы:

https://docs.microsoft.com/en-us/windows/win32/memory/about-memory-management

Ну и в принципе все остальное за пределами среды ДотНета...






AlexNek патриот13.08.19 20:20
AlexNek
NEW 13.08.19 20:20 
в ответ Программист 13.08.19 08:53
Юнит-тесты исключают взаимодействие с окружением.

Так какого надо было писать что только юнит тесты меня бы спасли в ситуации со шнурком? шок

AlexNek патриот13.08.19 20:21
AlexNek
NEW 13.08.19 20:21 
в ответ MrSanders 13.08.19 15:23
И никто не говорил что можно.

ну ладно, спишем, что неправильно понял высказывание glassglassglass

Wand3rvogel завсегдатай14.08.19 00:30
NEW 14.08.19 00:30 
в ответ Murr 13.08.19 15:48

https://support.microsoft.com/en-us/help/982734/you-cannot...

В сторону отключения SMB2 на семёрке тоже можно посмотреть.

Программист коренной житель14.08.19 09:13
NEW 14.08.19 09:13 
в ответ Murr 13.08.19 17:54
пусть админы бегают и ищут где и чего там продублировалось.

Именно так. Тем более, что у них и инструментарий для этого есть.


Если в инструкции написано - застрелится

Ты как школьная училка :D Задаешь такие же тупые вопросы :)


Не забудет, а не будет знать какие условия и каким образом гарантировались.
Ибо для него это тоже "окружение", в котором он не должен разбираться...

А потом ты удивляешься, что у тебя 2Гб спагетти кода. Ясен хрен у тебя ж там половина - мусор... ээээ, пардон, необходимые проверки параметров перед вызовом методовбезум


И то, что ты выбросишь и как-то обработаешь исключение не сделает систему рабочей с смысле получения нужного результата.

Сделает.


Никто не понимает в чем именно состоит проблема.

Еще раз, ZigBee используется в "умных домах", эти системы продаются миллионами, а проблемы только у тебя. Я все таки склоняюсь к тому, что проблемы не в ZigBee....


И подобных проблем - много.

Конечно много. И чем больше будешь лезть туда, где ты ничего не понимаешь, тем больше будет проблем.


Ну что-нибудь из вот этой группы

Ну т.е. примерчик ты предоставить не можешь.

Программист коренной житель14.08.19 09:14
NEW 14.08.19 09:14 
в ответ AlexNek 13.08.19 20:20
Так какого надо было писать что только юнит тесты меня бы спасли в ситуации со шнурком? шок

Где тебе я тебе про это писал? Цитату плиз.

Murr патриот14.08.19 11:03
Murr
NEW 14.08.19 11:03 
в ответ Программист 14.08.19 09:13

Именно так.

------

Ты вторую часть опустил - пока они бегают - прожка должна продолжать работать.



А потом ты удивляешься, что у тебя 2Гб спагетти кода.

------

А чего мне удивлятся - это твои требования.



Ясен хрен у тебя ж там половина - мусор

-----

У меня, увы, мусор не половина, а порядка 94%...

По крайней мере пока получается из 60-70К оставить 2-3К на страницу...

Но данный вопрос - не ко мне - оно устраивает заказчика/владельцa и пусть так и будет...



Сделает.

-----

Увы. С точки зрения полученного результата - не сделает.

У меня куча кода, результат работы которого зависит от того, в какой момент времени произойдет, а она происходит гарантированно, ошибка обработки данных.

Ну а момент выброса исключения определяется тем, в каком порядке оракл выдаст строки в выборке.

Причем написано все "аккуратно" - ехцептион катчится и давится - пользователь хлопает глазами и спрашивает - Где мои Данные?

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



Еще раз, ZigBee используется в "умных домах", эти системы продаются миллионами, а проблемы только у тебя.

------

А откуда у меня проблемы? У меня как раз проблем нет. У меня есть необходимые знания, проверенные практикой.

Проблемы у того, кто ждет и обрабатывает ехцептион с сокета, не желая разобраться в проблеме...



Я все таки склоняюсь к тому, что проблемы не в ZigBee....

-----

Не надо склонятся - склонение ведет к ожиданию и обработке ехцептиона сокета,

Надо - знать.

Ну а чтобы знать - надо лезть туда где не знаешь и довольно глубоко там копать.



примерчик ты предоставить не можешь

------

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

Как обычно - открытие при входе и закрытие на выходе. И не забудь проскочить мимо закрытия по ехцепшену - ты же его используешь для управления...



Задаешь такие же тупые вопросы

-----

Ну так кроме полностью абсурдных ты никакие другие не воспринимаешь... спок

koder патриот14.08.19 11:39
koder
NEW 14.08.19 11:39 
в ответ AlexNek 12.08.19 18:57, Последний раз изменено 14.08.19 11:40 (koder)
приведете мне пример юнит теста для моего xamarin кода который будет проверять смогу ли я установить мой код на моем смартфоне,

Юнит-тесты не проверяют поведение программы. Они тестируют код. Причем конкретный кусок кода. И это большая разница. Допустим я написал прогу-оболочку, запускающую другую прогу, которая в свою очередь что то должна писать. Если ничего не пишется, то моя прога не работает. А вот код в моей проге может быть абсолютно правильный, ибо она просто вызывает. И вызов работает.



Так вот юнит-тесты не проверяют "пишет-не пишет". Ибо мой кусок кода НЕ должен писать. А проверяют "вызывает-не вызывает". А вот другую прогу НУЖНО заменять в тесте моком, который будет работу симулировать только для теста.



Основная философия - проверяем только код и только то, что код сам конкретно делает. А не результаты, которые приходят после того, как метод вызвал цепочку другого кода, в котором что то произошло.

5 6 7 8 9 10 11 12 13 14 15 все