variabelen (type) benamingen
Leuk om te zien dat er toch nog iemand is die underscores gebruikt :)
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
function foo( arg:string, arg2:boolean ) : integer;
begin
result: 0;
end;
function foo takes integer arg, boolean arg2 returns integer
return 0;
endfunction
begin
result: 0;
end;
function foo takes integer arg, boolean arg2 returns integer
return 0;
endfunction
Deze functie neemt een string aan als argument 1, een boolean als argument 2 en MOET een integer returnen.
Je kan je dan wel voorstellen dat als je een programma schrijft dat plugins die de functies in het geheugen zetten je argument namen beantwoorden met "iLevel" als argument naam zodat je weet dat het een integer is en dus 100% een syntax error krijgt als je een string geeft.
PHP is flexibel, en maakt het niet uit. Je kan een array van strings gewoon setten als een 1 integer. Dit heeft ook zijn voordelen, maar ook veel nadelen. Als je een goed script wil schrijven moet je alles gaan controlleren is_int(), is_string(), is_number, is_array(), etc, etc. Je kan dus niet verwachten dat iResult ook daadwerkelijk een integer is omdat het niet uitmaakt.
Voor de rest, raad ik dit gebruik af tenzij je gaat typecasten en een variable convert naar het type zodat je weet wat je ook geeft, ook zo gebruikt word.
Thanks voor je toelichting Johan!
In welke taal is het eerste stukje script eigenlijk?
Wouter J op 26/01/2012 21:49:26:
Typecasten in method/function properties is nog niet mogelijk :(
Hmmm, inderdaad. Bummer. Had ik eigenlijk wel verwacht toen ik over type "casting" las. Maar goed, je begrijpt wat ik bedoel en dit wel mogelijk.
Code (php)
Wouter J op 26/01/2012 21:49:26:
In welke taal is het eerste stukje script eigenlijk?
Tijdje geleden al weer, maar dat is Pascal, beter bekend als Delphi.
En de andere is JASS (warcraft script taaltje, just another scripting syntax), iets wat ik vroeger deed maar wat prima als voorbeeld kan worden gebruikt.
Gewijzigd op 26/01/2012 23:52:20 door Johan K
Dat heeft niet alleen met duidelijkheid te maken maar ook (belangrijker) dat je onderscheid hebt.
@Wouter,
Je gebruikt de Zend standards maar je schrijf een if zo?
Ik ben er zelf van dat een variabele moet aangeven wat hij onthoud. Sommige mensen gebruiken wel eens iets like this:
Daar heb ik persoonlijk een hekel aan. Hetzelfde geldt voor de functie / class namen. Aan de hand van de naam moet je kunnen zien wat de functie / class doet. (Waar het verantwoordelijk voor is) Dan is commentaar ook overbodig.
Probeer vooral consistent te blijven. Dat is heel belangrijk.
Niels
Code (php)
Lekker duidelijk :)
Ja inderdaad. Zulk soort code probeer ik niet te schrijven ;-)