Download presentation
Presentation is loading. Please wait.
Published byTimo Biermann Modified over 6 years ago
3
Urnik 09.00 – 10.30 varno programiranje 10.30 – 11.00 odmor
11.00 – 12.30 napredno razhroščevanje Cilj: v prvem delu vsakomur dati vsaj eno dobro idejo, v drugem delu vsakemu pokazati vsaj nekaj novega.
4
Varno programiranje
5
Varno programiranje Razumljiva koda Kvalitetna koda
Kratke metode, jasen namen, (samo)dokumentiranost, lokalnost podatkov, dobra imena Kvalitetna koda DRY, SOLID Preverjanje rezultatov (sistemskih funkcij) Misel na prihodnost („future-proofing“) Design by Contract
6
Slaba koda Dobra koda
7
Preglednost Pomožne spremenljivke Enumeratorji
Orodja za refaktorizacijo Enumeratorji
8
Preverjanje vhodnih podatkov
Statične shrambe podatkov Statična polja GetMem Move
9
Enumerirani tipi Case <enum> … else If <num> … else
For … Low() to High()
10
Preverjanje rezultatov funkcij
Sistemski klici!
11
Ustvari/uniči Create/Destroy GetMem/FreeMem Lock/Unlock
Acquire/Release Try/finally
12
Izjeme Sporočanje izjemnih primerov
Sporočanje pričakovanega rezultata Ni očitno, katere izjeme lahko pričakujemo try … except end On Error Resume Next
13
Exception Loggers EurekaLog madExcept JclDebug
14
Design by Contract Preconditions Postconditions Invariante
Testiramo na začetku metode Postconditions Testiramo na koncu metode Invariante Assert / raise
15
Pozor, nevarnost! Goto With
16
Metodologije DRY SOLID Don‘t Repeat Yourself
Single responsibility principle Open/closed principle Liskov substitution principle Interface segregation principle Dependency inversion principle
17
Statična analiza FixInsight
18
Napredno razhroščevanje
19
Nastavitve Project, Options Tools, Options Delphi Compiler, Compiling
Optimization Stack frames Debug information Use debug .dcu‘s Tools, Options Debugger Options General Event log
20
Lastnosti prekinitev Enabled Condition Pass count Thread
21
Stranski učinki Izpis informacij Izpis sklada izvajanja
22
Skupine prekinitev Vklop/izklop Ročno Kot stranski učinek
23
Izjeme Lokalno Globalno Stranski učinek prekinitev Tools, Options
Debugger Options, Embarcadero Debuggers, Language Exceptions
24
Strojno podprte prekinitve
Naslovne Izvajanje vrstice Podatkovne Zapisovanje podatkov Omejeno število Onemogočene ob vsakem začetku
25
Majhni triki Premikanje točke izvajanja Prekinitve na skladu izvajanja
Vrnitev iz metode
26
Prikaz podatkov Oblikovanje v oknu Evaluate/Modify
Organiziranje v skupine
27
Optimizator je lahko v napoto
DontOptimize
28
Vprašanja?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.