NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Ladislav Ondris:21.2.2016 17:31

Zdravím, chtěl bych se zeptat na váš názor ohledně zachytávání výjimek (kontroly vstupů) ve WPF. Mám na mysli výjimky týkající se komponent WPF, které vzniknou, jestliže nevyplním například TextBox apod. Je lepší si vytvořit třídu, v které budu kontrolovat všechny tyto vstupy ještě před vlastním výpočtem aplikace nebo je kontrolovat během výpočtu? Pokud bych tyto vstupy kontroloval během výpočtů, tak by to dost znepřehlednilo kód, protože bych tam měl spoustu podmínek.

A tak se ptám, jaký na to máte názor vy?

Odpovědět
21.2.2016 17:31
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Odpovídá na Ladislav Ondris
Michal Štěpánek:21.2.2016 18:22

Jsou vstupy "povinné" a pak "nepovinné", tzn., že ty povinné se musí nějak ošetřit. Když to budeš ošetřovat v "nějaké třídě", tak budeš mít akorát další třídu (podle mě zbytečnou), protože na každou událost bys musel mít stejně nějakou proceduru nebo funkci.
Ve výpočtu jen uděláš podmínku, která při nesplnění vyvolá vyjímku a tu pak nějak ošetříš...

Nahoru Odpovědět
21.2.2016 18:22
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Ladislav Ondris
Michal Haňáček:22.2.2016 7:58

Mno já nevím, ale ověřovat vstupy formuláře až v metodě výpočtu mi přijde jako hrozná prasárna. Podle mého by bylo vhodnější udělat si nějakou validační metodu, kterou zavoláš po vyplnění formu a zároveň před výpočtem. Pokud validace projde a všechna "potřebná" pole budou korektně vyplněna, tak bych teprve přistupoval k volání výpočtu a předávání parametrů ...

Výše psané platí pokud WPF už přímo na kontrolkách nebo nějaké vyšší úrovni nemá ověřování vyplnění ... WPF jsem pěkně dlouho neviděl a zkoumat se mi to aktuálně nechce, ale skoro bych se divil kdyby to tak nebylo, nebo by nebyla nějaká prostší cesta ...

Nahoru Odpovědět
22.2.2016 7:58
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Odpovídá na Michal Haňáček
Marian Benčat:15.3.2016 1:14

Interface IDataErrorInfo je presne to co hledate. Implementujte na ViewModelu a mate zarucenou validaci formularu,.. muzete si definovat vlastni validacni funkce, message atp.

Jinak, idealne by jste mel skutecne validovat kazdy parametr metody, je to princip defenzivniho programovani, ale do toho vas nikdo nutit nemuze

Editováno 15.3.2016 1:15
Nahoru Odpovědět
15.3.2016 1:14
Totalitní admini..
Avatar
Odpovídá na Marian Benčat
Michal Haňáček:15.3.2016 9:39

Zajímavá informace, díky za ní.

Nahoru Odpovědět
15.3.2016 9:39
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.