Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Beste manier programmeren van initialisatiefuncties

Pagina: 1
Acties:

  • reconf
  • Registratie: December 2008
  • Laatst online: 12-10-2024
Ik heb een functie geschreven die via een WMI query wat gegevens ophaalt van een Windows systeem. Om dit voor elkaar te krijgen moeten er eerst een aantal functies aangeroepen worden om bijvoorbeeld COM te initialiseren, securitylevel in te stellen, WMI query te doen, etc.

Mijn probleem (vraag) is dat de functie die dus uiteindelijk de gegevens ophaalt waar het om gaat, zelf eerst 5 functies aanroept (in de juiste volgorde). Ontwerptechnisch zijn er nogal wat mogelijkheden om dit te doen lijkt me. Wat is hierin de beste keus?

1: De functie zelf eerst de 5 andere functies laten aanroepen
code:
1
2
3
4
5
6
7
haalGegevens(){
 initCom();
 setSecurityLevel();
 doeNogwat();
 bla = WMIquery("Select * From blabla");
 return bla;
}


2: De functie een functie laten aanroepen, welke weer de volgende aanroep, die weer de volgende aanroept etc.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
haalGegevens(){
 initCom();
 bla = WMIquery("Select * From blabla");
 return bla;
}

initCom(){
 initCom code~
 setSecurityLevel();
}

setSecurityLevel(){
 setSecuritylevel code~
 doeNogwat();
}

etc.


3. andere betere methode

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 25-11 22:08
Meestal maak ik een initialisatiefunctie welke op de beurt weer functies aanroept welke aangeroepen behoren te worden tijdens initialisaties. Het is hier, vind ik, dan belangrijk goede namen te geven aan functies en beknopte functies te maken zodat het duidelijk en overzichtelijke code wordt.

Functies van een paar honderd regels code - zeer weinig uitzonderingen nagelaten - zijn gewoon not-done.

  • Andre-85
  • Registratie: April 2003
  • Niet online

Andre-85

Sid

Wanneer je een object georiënteerde aanpak kiest, zou je de initialiesatie in de constructor afhandelen en kan je in de destructor één en ander opruimen. Dit heeft als gevolgd dat je object klaar voor gebruik is zolang het bestaat.

Lorem
Whenever we feel the need to comment something, we write a method instead. - Martin Fowler
People who think they know everything really annoy those of us who know we don't - Bjarne Stroustrup