Hoe code te schrijven

Hoi allemaal

Het is een heel domme vraag, maar ik kan mijn vraag niet formuleren (alleen door naar de titel te kijken) om een antwoord te vinden op intermet:

Ik gebruik de Vba-taal via de SW API om een interface te maken, zodat ik een UserForm heb waarop ik knoppen heb. Het is in de procedure van de laatste dat ik gewend ben te coderen.
Maar ik begon me af te vragen of het niet beter, duidelijker, was om verschillende modules met voorwaardelijke lussen enz. te maken en ze vervolgens in de knopcode aan te roepen. Het doel kan zijn om de code te verlichten en meer gestructureerd te maken.
Bovendien zou het misschien sneller en minder ingewikkeld zijn voor de computer?

Ik weet niet of ik duidelijk ben geweest, maar ik zou graag wat feedback willen om de beste structuur voor mijn project voor te stellen.

Bedankt

1 like

Goedenavond

Van mijn kant heeft het gebruikersformulier alleen interne codes om direct op de lay-out te interageren of acties in het gebruikersformulier te combineren.

De knoppen die direct modules aanroepen in mijn hoofdcode.

Voor de verwerkingstijd ben ik er niet zeker van dat het dingen fundamenteel verandert, tenzij de code heen en weer moet gaan tussen de gebruikersvorm en de hoofdcode.

Ik zal proberen in volgorde te antwoorden:

Maar ik begon me af te vragen of het niet beter, duidelijker, was om verschillende modules met voorwaardelijke lussen enz. te maken en ze dan in de knopcode op te roepen

Ja en Nee (het is een goed begin, hè?)

Ja, alles wat wordt hergebruikt bij het uitvoeren van een programma moet in een openbare module worden geplaatst.

Ja, elk deel van de code dat in een klasse wordt hergebruikt, moet worden meegenomen in een procedure of functie.

Nee, het is niet geoptimaliseerd om modules te gebruiken om alle lussen of delen van code die moeten worden aangeroepen, erin te plaatsen.

Het doel kan zijn om de code te verlichten en meer gestructureerd te maken

Om de code te verlichten, als u de "Ja"-punten van mijn vorige antwoord respecteert, heeft u al 80% van het werk gedaan.

Voor de overige 20% zijn het de opmerkingen die ze maken. Een code zonder commentaar is een slecht gemaakte code.

Als jij of iemand anders teruggaat naar de code en ze moeten 5000 regels code typen om te begrijpen waar deze vastloopt, kost het hen 3 dagen (3 dagen om de code te begrijpen en 15 seconden om een punt te plaatsen waar deze ontbrak)

Bovendien zou het misschien sneller en minder ingewikkeld zijn voor de computer?

Nee

Om code te optimaliseren (op vba is het niet erg handig gezien de zwaarte van deze code), moet je beginnen met het beperken van de variabelen of ze opnieuw gebruiken.

U moet de variabelen typen (een type geven) zodat ze hetzelfde type hebben als hun toekomstige waarde

U moet het type "Object" niet gebruiken en het type "Variant" beperken.

U moet klassen maken voor complexe objecten in plaats van het type Variant of Object te gebruiken.

U moet het trefwoord "Met" gebruiken wanneer u meerdere eigenschappen aan een object wilt toewijzen:

Dim MaVoiture As Voiture

With MaVoiture
.Couleur="Bleu"
.Moteur="V16 Twin Turbo 12l " 'HOOOO C'EST BEAU DE REVER
End With

Het is ook schoner.

Matrices gebruiken voor objectverzamelingen

Het zijn er nog veel, maar het heeft geen zin om door te gaan.

Onder de 10000 regels code bespaart u slechts een paar milliseconden:)

1 like

Zoals gewoonlijk Yves.T, uw antwoorden zijn volledig en duidelijk, hartelijk dank!

Fijne dag!