Page 1 of 2 1 2 LastLast
Results 1 to 15 of 20

Thread: functies

  1. #1
    Senior Member
    Join Date
    Jan 2007
    Location
    Den helder
    Posts
    101

    functies

    wat is voor jullie nou een reden om ergens een functie van te maken.?
    ik bedoel soms twijfel ik wel eens.
    best song ever!
    bezoek mijn webpagina!!

  2. #2
    • Verplaatst van Algemeen naar Koffiehoek.
    Marcel

  3. #3
    Daar lijkt mij geen twijfel over mogelijk, als het iets terug moet geven wordt het een functie.
    Marcel

  4. #4
    Yay: Student(je) af
    Join Date
    Jun 2003
    Location
    Harderwijk
    Posts
    2,621
    Of als je op het punt staat code te kopieren en te plakken (met hoogstens een
    kleine wijziging), dan wordt het ook een functie. Of als je een heel groot stuk code hebt, dat opgedeeld is in kleinere logische eenheden, zet je die in functies. Daar wordt je code overzichtelijker van:
    Code:
      // Het is in een keer duidelijk wat deze code doet
      BootComputer();
      StartDelphi();
      Forum := OpenURL('www.nldelphi.com');
      Forum.Goto('Tiphoek');
      CopyPasteCode(Forum);
      Compile();
    (PS: ik beschouw hier dus een functie die niets teruggeeft ook als een functie, hoewel dat in Delphi een procedure heet).
    My software never contains bugs. Perhaps just undocumented features.

  5. #5
    Je mag in Delphi functies aanroepen alsof het procedures zijn, Delphi neemt het resultaat voor zich
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

  6. #6
    Al zou het best handig zijn als veel van die dingen ook inderdaad wat teruggeven. Ik zou van bijvoorbeeld Forum.Goto (in CompuChips voorbeeld) wel verwachten dat deze a) Een exception geeft als het fout gaat of b) een boolen teruggeeft wanneer het lukt of niet of c) een Integer of HResult teruggeeft met 0 als het goed is gegaan of anders een foutcode. Wanneer je die feedback niet krijgt, dan weet je niet wat er is gebeurd, en de het verdere verloop van je programma onvoorspelbaar.
    1+1=b

  7. #7
    senior member PeterVercruysse's Avatar
    Join Date
    Nov 2006
    Location
    Rijsel
    Posts
    1,608
    Een vuistregel vertelt ook dat je functie best niet langer zijn dan één scherm-pagina ( met andere woorden dat je in je scherm-bereik telkens de volledige functie kan overzien ).
    Gras groeit niet sneller door er aan te trekken

  8. #8
    Dan neem je een groot scherm met klein lettertype, kan je nog langere functies/procedures schrijven
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

  9. #9
    senior member PeterVercruysse's Avatar
    Join Date
    Nov 2006
    Location
    Rijsel
    Posts
    1,608
    Dan neem je een groot scherm met klein lettertype, kan je nog langere functies/procedures schrijven
    Deze regel dateert nog uit de tijd van Turbo-Pascal ( scherm = 20 regels) en is daarom ook een vuistregel. Als een functie of een procedure langer is dan 20 regels, zie ik na of ik deze niet meer kan splitsen.

    Ik dacht dat Delphi 2006 standaard zo iets aan boord had.
    Gras groeit niet sneller door er aan te trekken

  10. #10
    Wat heeft Delphi 2006 aan boord? Na 20 regels wordt je procedure / functie afgebroken?

  11. #11
    senior member PeterVercruysse's Avatar
    Join Date
    Nov 2006
    Location
    Rijsel
    Posts
    1,608
    Dat je kunt controleren of er geen functies zijn die langer zijn. Ik heb Delphi 7, daar zit dat niet in.
    Gras groeit niet sneller door er aan te trekken

  12. #12
    Waarom zou je dat willen controleren? Als een procedure/functie lang wordt breek ik het op in inline proceures/functies, dat is overzichtelijker dan 1 grote hap tekst.
    Hou jij jezelf aan die regel peter?
    DeX 3 Delphi := The ease of VB with the power of C; Zoekt en gij zult vinden

  13. #13
    Bovendien geloof ik dat die vuistregel niet bij 20 regels ligt, maar bij 300. En al hou ik mijn functies vrijwel altijd korter, ik loop toch nog weleens uit mijn scherm hoor.
    1+1=b

  14. #14
    als je een export moet maken van tabellen naar word met opmaak en dat is een vrij uitgebreid document, waarbij een template niet voldoet wegens te gecompliceerde data dan wil je daar ook wel eens overheen gaan hoor .

  15. #15
    senior member PeterVercruysse's Avatar
    Join Date
    Nov 2006
    Location
    Rijsel
    Posts
    1,608
    Waarom zou je dat ... dat is overzichtelijker dan 1 grote hap tekst.
    Hou jij jezelf aan die regel peter?
    De 20-regels code was een van de regels opgelegd voor de beginnende programmeurs om hen een beetje te stroomlijnen. Naarmate ze wat meer ervaring hadden, viel deze regel weg.

    De meeste onder hen ( de meeste kwamen van VB ) hadden de gewoonte om bijvoorbeeld in een onClick-Event zowat 30 volle bladzijden code te schrijven, visuele code en BR door elkaar, gewoonweg onleesbaar omdat je in een dergelijke structuur je begins en ends door elkaar begint te haspelen en de structuur niet meer duidelijk is. Met zoiets als een CodeInside, wordt dit allemaal wel wat duidelijker, maar ook voor programmeurs die dat allemaal niet hebben, moet dit leesbaar blijven.

    Over deze dingen heb ik nog tal van vuistregels, zoals bijvoorbeeld dat er in de naam van de procedure altijd een werkwoord moet in voorkomen en de naam altijd van een bepaalde lengte moest zijn, zo werden er procedurenamen als mspvpinb, ppolill vermeden.

    Voor een wat meer ervaren programmeur zijn deze regels allemaal overbodig, want die doen dat automatisch.

    Vooral C++-programmeurs maakten er vroeger een wedstrijd van om alles zo kort mogelijk ( en dus bijna onleesbaar ) te schrijven.
    Gras groeit niet sneller door er aan te trekken

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •