Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Benjibs
Člen
Avatar
Benjibs:8.7.2013 10:43

Mám jednu triedu, ktorej účelom je generovať hlavičku HTML dokumentu.
Trieda obsahuje privátnu premennú code, do ktorej sa po každom zavolaní metódy, ktorá ma za úlohu 'generovat nejakú čast hlavičky' pridá určitý kód.

Taktiež mám statickú private final premennú, ktorá obsahuje stringové pole zo zoznamom možných kódovaní (ktoré pôjdu do <meta charset = "xxx">.
Tá premenná je využitá v metóde isValidCharset, vraciacej boolean hodnotu, na základe toho, či sa jej Stringový argument nachádza v zmienenom poli.

Keď vytvorím instanciu triedy, do premennej code sa hned pridá doctype, html, head, a meta charset. Mal by konštruktor raisovat výnimku, v prípade že isValidcharset vráti False (argumentom konštruktoru je názov 'charset'-u)?

Alebo je lešpie nechat kontrolu validity charsetna vyššie časti programu? (kedže isValidChaset je public static)

Odpovědět
8.7.2013 10:43
1 + 1 = 2
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Benjibs
Kit:8.7.2013 10:57

Záleží na tobě. Pokud chceš, aby se v případě chyby objekt nevytvořil, použij raise. Pokud chceš, aby tu chybu nějakým způsobem opravil (např. vložením implicitního UTF-8), ošetři si to už v konstruktoru.

Nahoru Odpovědět
8.7.2013 10:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 2 zpráv z 2.