Avatar billede Droa Seniormester
07. marts 2015 - 11:51 Der er 3 kommentarer og
1 løsning

hvad for situationer er vigtige og tage højde for i ens program

Hej Eksperter.

Jeg er igang med at udvikle et program, for 3. gang over de sidste 2½år.

mit program er en service jeg har kørende på en windows server med en 99,9% oppetid.

Programmet virker ret godt som det er i 2. version, men der er en masse ting som jeg ikke har taget højde for, som igennem feedback bliver lagt ind som features.

nu er det sådan at når man skal til og lave 3. Version, at man nok burde overveje de ting man normalt ikke selv husker på i teknikken.

som f.eks hvis computeren går i dvale, standby, hvis nettet går og den slags.

jeg tænkte om der findes en form for programmørs checkliste, hvor man kan se de forskellige vigtige situationer man kan komme ud for, som programmet/servicen generelt ikke har kontrol over?

jeg tænker mest på OS, IO-interface og net-interface situationer.

f.eks

IO - filen kan ikke læses
IO - filen kan ikke skrives til
IO - skrvning til filen er langsom
NET - ingen svar på remote endpoint
NET - ingen netværks interface fundet
NET - timeout
OS - computeren lukker
Avatar billede Slettet bruger
08. marts 2015 - 20:34 #1
næ, koderen skal selv tænke sig om :)
alt skrammelcrapware som ikke virker, er lavet af folk der glemte 117 ting ku opstå.. :)

ved sådanne større ting, plejer man at lave en error handler.
man laver en liste som du beskriver, med alt det i man har tænkt på kan opstå, og så må man kode og checke alt igennem.
Avatar billede arne_v Ekspert
09. marts 2015 - 01:27 #2
C# bruger ligesom de fleste andre nyere teknologier exceptions til at signalere fejl fremfor de traditionelle status retur vaerdier. Det goer det lidt nemmere at styre.

Du skal derfor starte med at lave lister med de exceptions der kan opstaa forskellige steder. .NET dokumentation indeholder oplysninger om mulige exceptions fra .NET kode. Et vel-dokumenteret 3. parts bibliotek goer det samme.

Saa skal du have opdelt exceptions i 3 kategorier:

1) Exceptions som er midlertidige i natur og potentielt kan forsvinde af sig selv.

De skal fanges hvor de sker og saa skal koden proeve igen op til N gange. Gaar det godt er saa er det godt. Lykkes det stadig ikke skal der smides en ny ikke-midlertidig exception.

2) Exceptions som ikke kan haandteres fornuftigt. Out of memory, DLL kan ikke loades etc..

De skal bare fanges paa aller yderste niveay, der skal logges en beskrivelse af problemet til udviklerne/driften og slutbrugeren skal have en paen besked og saa afsluttes der.

3) Exceptions som kan haandteres.

Der skal man have en politik om hvilke lag der bare sender exception videre og hvilke der skal haandtere exception.

Der hvor de skal haandteres maa man saa bringe applikationen i stabil tilstand igen og logge en beskrivelse af problemet til udviklerne/driften.
Avatar billede Droa Seniormester
12. september 2015 - 19:53 #3
ligger du et svar?
Avatar billede arne_v Ekspert
12. september 2015 - 23:54 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester