Tvrdenia by sa mali použiť na kontrolu niečoho, čo by sa nikdy nemalo stať, zatiaľ čo na kontrolu niečoho, čo sa môže stať, by sa mala použiť výnimka. Funkcia sa môže napríklad deliť 0, takže by sa mala použiť výnimka, ale na kontrolu, či pevný disk náhle zmizne, sa dá použiť tvrdenie.
Je tvrdenie dobré alebo zlé?
Nie, ani goto ani claim nie sú zlé. Oboje sa však dá zneužiť. Tvrdenie slúži na kontrolu zdravého rozumu. Veci, ktoré by mali zabiť program, ak nie sú správne.
Prečo sú tvrdenia zlé?
Tvrdenia možno použiť na overenie interných implementačných invariantov, ako je vnútorný stav pred alebo po vykonaní nejakej metódy atď. Ak tvrdenie zlyhá, naozaj znamená, že logika programu je porušená a vy nemôžete nezotavím sa z toho.
Sú tvrdenia dobrým postupom?
Jazyková príručka, ktorá uvádza tvrdenia, obsahuje niekoľko dobrých pokynov, ktoré sú v podstate tým, čo som práve opísal. Áno, je to dobrý postup. V prípade Spring je to obzvlášť dôležité, pretože kontroly overujú nastavenia vlastností atď., ktoré zvyčajne pochádzajú z káblových súborov XML.
V ktorých prípadoch sú tvrdenia užitočné?
Za predpokladu, že kód je riadne testovaný, aserencie robia niekoľko užitočných vecí: Rozpoznávajú jemné chyby, ktoré by inak mohli zostať nerozpoznané . Rozpoznajte chyby skôr, ako sa vyskytnú, než by sa inak mohli rozpoznať. Vydať stanoviskoo účinkoch kódu, ktorý je zaručene pravdivý.