Aserțiunile ar trebui folosite pentru a verifica ceva care nu ar trebui să se întâmple niciodată, în timp ce o excepție ar trebui folosită pentru a verifica ceva ce s-ar putea întâmpla. De exemplu, o funcție ar putea împărți la 0, deci ar trebui utilizată o excepție, dar ar putea fi folosită o afirmație pentru a verifica dacă hard disk-ul dispare brusc.
Este afirmația bună sau rea?
Nu, nici goto, nici assert sunt rele. Dar ambele pot fi folosite greșit. Assert este pentru verificări de sănătate. Lucruri care ar trebui să distrugă programul dacă nu sunt corecte.
De ce sunt proaste afirmațiile?
Aserțiunile pot fi folosite pentru a verifica invarianții de implementare interne, cum ar fi starea internă înainte sau după executarea unei metode etc. Dacă afirmația eșuează, într-adevăr înseamnă că logica programului este întreruptă și puteți nu vă recuperați din acest.
Sunt afirmațiile bune practici?
Ghidul lingvistic care introduce afirmații are niște îndrumări bune, care sunt practic ceea ce tocmai am descris. Da, este o practică bună. În cazul Spring, este deosebit de important deoarece verificările validează setările proprietăților etc., care provin de obicei din fișiere de cablare XML.
În ce cazuri sunt utile afirmațiile?
Presupunând că codul este testat corespunzător, afirmațiile fac mai multe lucruri utile: Detecta erori subtile care altfel ar putea rămâne nedetectate . Detectați erorile mai devreme după ce apar decât ar putea fi detectate altfel. Fă o declarațiedespre efectele codului care este garantat a fi adevărat.