Spring nepoužívám a neznám, ale žádnou Spring Assertion library jsem nenašel. Našel jsem jen třídu org.springframework.util.Assert (http://static.springframework.org/spring/docs/1.2.x/api/index.html ) , která není založená na JUnit testech, ale je jim podobná; v dokumentaci je hlavně napsáno, že je určená především pro interní použití ve frameworku – ptal jste se jak to řešíme, tak konkrétně já rozhodně takovéhle třídy nepoužívám, a pokud už není jiného zbytí, podívám se do zdrojáku, co vlastně dělá.
Ohledně toho, že když metoda dostane jako parametr nevalidní řetězec, měla by vyhodit InvalidArgumentException – přesně to metoda uvedená ve vašem příkladě dělá, nevím tedy, na co se ptáte.
Abych nemusel opisovat stále ten samý kód, buď si vytvořím třídu se statickými metodami, které dělají tuhle validaci; nebo kód validace kopíruji přes schránku; nebo si ve vývojovém prostředí vytvořím šablonu, pomocí které validaci rychle "napíšu"; nebo použiju nějaký framework pro validace; nebo můžu použít nějaké anotace a validační kód generovat během překladu; mohu mít validační metody v abstraktním předkovi všech tříd, kde budu používat validace; mohu validace generovat do hotových zkompilovaných tříd pomocí cglib… Záleží na typu projektu, na množství validací, na tom, s čím mám zkušenosti, co už v projektu používám a na spoustě dalších věcí. Rozhodně ale nevytrhnu z celého frameworku jednu třídu a nesnažím se jí naroubovat na moje potřeby…
Předpokládám, že už je Vám jasné, že se za jeden den a proběhnutí jedné knížky programovat nenaučíte. Na vysokých školách se běžně předpokládá, že studenti po jednom semestru (4 - 5 měsíců) budou schopni něco naprogramovat, ale i tak upřímně lituju ty studenty, kteří předtím nikdy nic neprogramovali, protože podle mého je i půl roku málo na to naučit se o programování správně přemýšlet. A bez toho sice budete schopen napsat kód, který půjde přeložit, ale nebudete schopen napsat nějaký opravdový program. A tím že pro Vás bylo hodně věcí z Thinking in Java opakováním, se nenechte zmást, je opravdu velký rozdíl mezi tím umět psát příkazy a umět psát programy. Na druhou stranu se to naučila psousta lidí, chce to jenom čas a trpělivost.
Z českých autorů knih a článků o programování rozhodně nezklamou Pavel Satrapa, Miroslav Virius nebo Rudolf Pecinovský.
Filip Jirsák
2006/7/29, Kamzik-II <
[EMAIL PROTECTED]
>:
1. Neptal jsem se ani na vyjímky ani na asserce, ale na Assertion library
Springu, která je založená na JUnit testech, a protože namám v úmyslu to
použít v testech, tak mi to přijde jako špatné řešení.
Možná, že jsem to špatně pochopil, něříkám že ne, ale když je ta metoda
psaná tak, aby počítala s validním řetězcem - tzn. nesmí být null a musí mít
nějakou délku, tak mi prostě přijde, že bych měl vyhodit vyjímku
InvalidArgumentException, pokud mi jako argument přijde něco jiného.
Otázku jsem možná špatně položil, vadí mi, že neustále musím opisovat téměř
na chlup stejný kód, zajímalo by mě, jak to řešíte Vy.
