Registreer FAQ Ledenlijst Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 02-08-2003, 11:07
John Sickbock
John Sickbock is offline
Hoi mede-programmeurs

Weet je toevallig ergens een lijstje 'de beste 100 programmeerstijltips' ofzo? Niet dat ik dat nou zo heel slecht doe (geloof ik), maar je weet nooit wat anderen hebben verzonnen dat ik nog niet heb verzonnen.

Ben benieuwd en alvast bedankt!

Tijmen
__________________
Do one thing that scares you every day ~ De wereld is niet vastgeroest, al lijkt dat soms zo ~ We ontwikkelen allemaal op een andere manier, gelukkig!
Met citaat reageren
Advertentie
Oud 02-08-2003, 12:56
CryptapiX
Avatar van CryptapiX
CryptapiX is offline
ik snap niet helemaal wat je bedoeld?
__________________
I have not failed, I have just found 10.000 ways that won't work
Met citaat reageren
Oud 02-08-2003, 13:14
deathz0rz
deathz0rz is offline
1. Gebruik indent
__________________
Ooit. Dan.
Met citaat reageren
Oud 02-08-2003, 13:22
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
gebruik een fatsoenlijke editor(met syntax highlighting en met automatisch inspringen) . Ik weet niet of je dat bedoelt, maar een tip van mijn kant
Met citaat reageren
Oud 02-08-2003, 14:37
JJzD
JJzD is offline
spreek met jezelf een manier van afsluiten af
als je het bijvoorbeeld over php hebt, kan je de } onderaan zetten of achteraan en ook weer verschillend inspringen.
Houd je includes zoveel mogelijk bij elkaar als je variabelen laadt.
Gebruik commentaar veelvuldig.
makkelijk in je opzet en weet je wat je aan het doen bent en als je het over een jaar teruglees5t weet je sneller wat er ook alweer gebeurd
vooral het commentarieren van de end haken is erg makkelijk, voor al als je (zoals ik) slordig script en snel zulke dingen vergeet en je 300 regels door moet om } terug te zettten
Controleer of het werkt zo vaak mogelijk.

tot zover mijn ervaringen
__________________
-|-
Met citaat reageren
Oud 02-08-2003, 14:48
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
JJzD schreef op 02-08-2003 @ 15:37:

Gebruik commentaar veelvuldig.
Nee, je code moet zonder commentaar leesbaar zijn. Als je code zonder commentaar niet goed te volgen is, is het slechte code.
Met citaat reageren
Oud 02-08-2003, 14:50
JJzD
JJzD is offline
Citaat:
Chimera schreef op 02-08-2003 @ 15:48:
Nee, je code moet zonder commentaar leesbaar zijn. Als je code zonder commentaar niet goed te volgen is, is het slechte code.
als je hem 5x indent ben ik wel even de structuur kwijt van dat ding

of wat een pregreplace nou eigenlijk doet is sneller te lezen in een commentaar dan het uit te gaan zoeken

natuurlijk moet het ook te doen zijn zonder, maar het gaat hier om goed, beter best
__________________
-|-
Met citaat reageren
Oud 02-08-2003, 14:51
deathz0rz
deathz0rz is offline
Citaat:
JJzD schreef op 02-08-2003 @ 15:50:
of wat een pregreplace nou eigenlijk doet is sneller te lezen in een commentaar dan het uit te gaan zoeken
mee eens
__________________
Ooit. Dan.
Met citaat reageren
Oud 02-08-2003, 14:55
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
JJzD schreef op 02-08-2003 @ 15:50:
als je hem 5x indent ben ik wel even de structuur kwijt van dat ding

of wat een pregreplace nou eigenlijk doet is sneller te lezen in een commentaar dan het uit te gaan zoeken

natuurlijk moet het ook te doen zijn zonder, maar het gaat hier om goed, beter best
Daarom zeg ik ook dat _code_ per definitie duidelijk genoeg moet zijn, een functie mag in princiepe niet veel langer zijn dan een pagina (uitzonderingen daargelaten), en een regexp is geen code.

Wat je dus ziet bij mensen is dit:

Code:
int i;                                    //Integer definieren.
for(i = 0;i < collection.size();i++)         //For loop
{      
     Object o = collection.get(i);            //Object ophalen
}
M.a.w, praktisch elke regel code is gedocumenteerd terwijl de code zelf precies zegt wat 'ie doet. In sommige gevallen is extra uitleg handig, maar in princiepe MOET code zelf zo leesbaar zijn dat documentatie niet nodig is. Het is ook nog eens minder werk, bovendien hoef je niet je documentatie te onderhouden, wat voor extra problemen kan zorgen.
Met citaat reageren
Oud 02-08-2003, 14:56
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
deathz0rz schreef op 02-08-2003 @ 15:51:
mee eens
Best, maar een regexp is een regexp, geen C/Java/Whatever code, en daar hebben we het hier over.
Met citaat reageren
Oud 02-08-2003, 15:01
deathz0rz
deathz0rz is offline
Citaat:
Chimera schreef op 02-08-2003 @ 15:56:
Best, maar een regexp is een regexp, geen C/Java/Whatever code, en daar hebben we het hier over.
dit is geen code?

$patt="!(<\\?php.+\\?>)!ismU";
$result=preg_replace($patt,'',$r);
$patt="!(<.+>)!ismU";
$result=preg_replace($patt,'',$result);
$patt="!\s+!ism";
$result=preg_replace($patt,' ',$result);

$key='en';
$offset=70;
$patt="!.{0,".$offset."}\s".$key."\s.{0,".$offset."}!ism";

foreach ($result as $name => $page) {
preg_match_all($patt,$page,$x);
print_r($x);
$r[$name]=$x;
}
__________________
Ooit. Dan.
Met citaat reageren
Oud 02-08-2003, 15:17
dafelix
Avatar van dafelix
dafelix is offline
*zucht* over bovenstaande berichen


anywayz, volgens mij is een goede tip voor programmeren, dat je programma snel moet zijn

Als je met VB (of QBasic van mijn part) heb je daar weinig last van, omdat je code nog een keer word omgezet naar een progje

programmeer je echter in "echte-programeertaal" (is geloof ik een naam voor) zoals Assembly maakt het enorm veel uit

Iedereen programmeerd anders, iedereen schrijft anders, de een vind het een beter, de ander juist niet. Het is nogal persoonsgebonden.

(Oh PS: over die comment, ik vind dat je zoveel comment mag plaatsen als je zelf wilt, omdat dat voor de een makkelijk is)
__________________
$karma++;
Met citaat reageren
Oud 02-08-2003, 15:21
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
deathz0rz schreef op 02-08-2003 @ 16:01:
dit is geen code?
Ja, maar dat was het aanroepen van regexp functies, een regexp zelf is gewoon een string, en die dient wel gedocumenteerd te worden snap je?
Met citaat reageren
Oud 02-08-2003, 15:22
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
dafelix schreef op 02-08-2003 @ 16:17:

programmeer je echter in "echte-programeertaal" (is geloof ik een naam voor) zoals Assembly maakt het enorm veel uit
Nee hoor, het verschil tussen assembly en C is heel klein, de meeste compilers zijn slimmer dan mensen, en C coden en de compiler laten optimisen is zowel makkelijker als beter. Vooral grote programma's zijn gewoon niet in assembly te schrijven.
Met citaat reageren
Oud 02-08-2003, 15:23
deathz0rz
deathz0rz is offline
Citaat:
Chimera schreef op 02-08-2003 @ 16:21:
Ja, maar dat was het aanroepen van regexp functies, een regexp zelf is gewoon een string, en die dient wel gedocumenteerd te worden snap je?
*zucht*
__________________
Ooit. Dan.
Met citaat reageren
Oud 02-08-2003, 15:24
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
deathz0rz schreef op 02-08-2003 @ 16:23:
*zucht*
Wat nou *zucht* snotaap? Wil jij beweren dat een regexp geen 'onleesbare' string is?
Met citaat reageren
Oud 02-08-2003, 15:28
M@rco
Avatar van M@rco
M@rco is offline
Citaat:
Chimera schreef op 02-08-2003 @ 16:24:
Wat nou *zucht* snotaap? Wil jij beweren dat een regexp geen 'onleesbare' string is?
Ghehe... idd

't Is nogal ontmoedigend voor mensen die net met een programmeertaal beginnen als ze gelijk iets als dit zien staan:

$filename =~ s~\A([\+\<\>]{0,3})[\+\<\>]*~~;
__________________
What experience and history teach is this — that people and governments never have learned anything from history, or acted on principles deduced from it.
Met citaat reageren
Oud 02-08-2003, 15:32
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
M@rco schreef op 02-08-2003 @ 16:28:
Ghehe... idd

't Is nogal ontmoedigend voor mensen die net met een programmeertaal beginnen als ze gelijk iets als dit zien staan:

$filename =~ s~\A([\+\<\>]{0,3})[\+\<\>]*~~;
Nou, dat is al redelijk duidelijk, een filename check, maar dit soort harde strings zijn dus net voorbeelden van dingen die wel gedocumenteerd moeten worden. Net zoals magic numbers.
Met citaat reageren
Ads door Google
Oud 02-08-2003, 16:06
John Sickbock
John Sickbock is offline
hot topic

Mijn vraag was dus eigenlijk of iemand een site ofzo weet waar een grotere lijst met tips staat. Weet iemand zoiets?

Verder: mooie discussie En Chimera: mooie sig
__________________
Do one thing that scares you every day ~ De wereld is niet vastgeroest, al lijkt dat soms zo ~ We ontwikkelen allemaal op een andere manier, gelukkig!
Met citaat reageren
Oud 02-08-2003, 16:12
IceManX
Avatar van IceManX
IceManX is offline
Citaat:
Chimera schreef op 02-08-2003 @ 15:55:
Daarom zeg ik ook dat _code_ per definitie duidelijk genoeg moet zijn, een functie mag in princiepe niet veel langer zijn dan een pagina (uitzonderingen daargelaten), en een regexp is geen code.

Wat je dus ziet bij mensen is dit:

Code:
int i;                                    //Integer definieren.
for(i = 0;i < collection.size();i++)         //For loop
{      
     Object o = collection.get(i);            //Object ophalen
}
M.a.w, praktisch elke regel code is gedocumenteerd terwijl de code zelf precies zegt wat 'ie doet. In sommige gevallen is extra uitleg handig, maar in princiepe MOET code zelf zo leesbaar zijn dat documentatie niet nodig is. Het is ook nog eens minder werk, bovendien hoef je niet je documentatie te onderhouden, wat voor extra problemen kan zorgen.
Dit is idd zwaar overdreven, maar soms is het in code wel nodig. Zo moest ik in Java een byte array naar longs converteren. Aangezien die bytes om een of andere reden soms negatief waren moest ik er soms 256 bij optellen. Zonder commentaar is dat niet even duidelijk voor iemand.

Ik heb net even wat van mijn oude code door zitten kijken, en ik gebruik daar vooral commentaar om te vertellen WAAROM ik iets doe (of niet doe), of bepaalde condities even neerzetten om duidelijk te maken dat checks niet nodig zijn oid (bv: x > 0, dan hoef je niet te checken op <= 0).

Commentaar over WAT je doet is vrijwel alleen maar nodig bij obscure code (en die moet je imho toch wel zoveel mogelijk vermijden).
__________________
More than meets the eye - www.achterklap.nl
Met citaat reageren
Oud 02-08-2003, 16:15
IceManX
Avatar van IceManX
IceManX is offline
Citaat:
John Sickbock schreef op 02-08-2003 @ 17:06:
hot topic

Mijn vraag was dus eigenlijk of iemand een site ofzo weet waar een grotere lijst met tips staat. Weet iemand zoiets?

Verder: mooie discussie En Chimera: mooie sig
Zoek op google naar de Java coding standard.
Deze twee had ik zo gevonden:
Java Coding Standard
Code Conventions for the Java Programming Language

Hoewel ze coding standard en coding conventions zeggen, zijn het niet meer dan tips. Je hoeft je er ook niet aan te houden, je kunt adh hiervan je eigen standaard maken.
__________________
More than meets the eye - www.achterklap.nl
Met citaat reageren
Oud 02-08-2003, 16:26
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
IceManX schreef op 02-08-2003 @ 17:15:
Hoewel ze coding standard en coding conventions zeggen, zijn het niet meer dan tips. Je hoeft je er ook niet aan te houden, je kunt adh hiervan je eigen standaard maken.
Als je alleen voor jezelf programmeert niet, maar als je in een bedrijf werkt zijn dat gewoon regels.
Met citaat reageren
Oud 02-08-2003, 16:27
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
IceManX schreef op 02-08-2003 @ 17:12:
Commentaar over WAT je doet is vrijwel alleen maar nodig bij obscure code (en die moet je imho toch wel zoveel mogelijk vermijden).
Klopt, maar nogmaals, documentatie alleen als het nodig is, niet omdat je moet documenteren. Code moet op zichzelf netjes genoeg zijn.
Met citaat reageren
Oud 03-08-2003, 11:08
Orion
Avatar van Orion
Orion is offline
How To Write Unmaintainable Code


Misschien heb je hier wat aan
__________________
Ongefilterd. Van nature troebel.
Met citaat reageren
Oud 03-08-2003, 14:13
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
De desbetreffende FAQ op GoT.

Overigens ben ik het met Chimera eens dat je niet elke overduidelijke regel hoeft te documenteren en dat je code vanzelf leesbaar moet zijn (dat wil zeggen, gebruik duidelijke namen voor variabelen e.d.), maar ik denk dat het belangrijk is om de grote lijn van wat je aan het doen bent wel duidelijk te documenteren.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Advertentie
Oud 03-08-2003, 15:51
-niels-
Avatar van -niels-
-niels- is offline
Citaat:
Chimera schreef op 02-08-2003 @ 15:55:
Daarom zeg ik ook dat _code_ per definitie duidelijk genoeg moet zijn, een functie mag in princiepe niet veel langer zijn dan een pagina (uitzonderingen daargelaten), en een regexp is geen code.
en wat is een 'pagina' ???

verder geef ik je groot gelijk, elke regel vind ik ook overdreven... maar ik vind het bijv. heel handig als bij de start van elke functie of niet meteen duidelijk onderdeel even staat wat het is en kort wat het doet... maar goed, das persoonlijk...
__________________
If you dont like oral sex, keep your mouth shut... I'll spray my love all over your face.... ->PAS OP IK HIJACK JE NICK<- • Mr. Mysteria •
Met citaat reageren
Oud 03-08-2003, 16:04
Screaming Slave
Screaming Slave is offline
een a4 vel met de code in courier 10 punts neem ik aan dat ie bedoelt
Met citaat reageren
Oud 03-08-2003, 16:18
niemand
Avatar van niemand
niemand is offline
Citaat:
Crystal Method schreef op 03-08-2003 @ 17:04:
een a4 vel met de code in courier 10 punts neem ik aan dat ie bedoelt
Ik vind dat best kunnen.
Het hangt maar van je functie af.
Met citaat reageren
Oud 03-08-2003, 16:37
IceManX
Avatar van IceManX
IceManX is offline
nog even een tip: beperk zoveel mogelijk het aantal karakters per regel. Laat dit bij voorkeur niet boven de 80 karakters (nee geen typo, eerder een thinko ) uitkomen (ivm het goed kunnen afbeelden op vrijwel elk scherm), als het kan niet boven de 70 (ivm printers).

Verder ben ik het er mee eens dat een functie over het algemeen niet boven de 100 regels uit moet komen (uitzonderingen daargelaten). Mocht je functie langer worden, dan kun je vrijwel altijd van delen van die functie subfuncties maken.
__________________
More than meets the eye - www.achterklap.nl

Laatst gewijzigd op 03-08-2003 om 17:55.
Met citaat reageren
Oud 03-08-2003, 16:48
deathz0rz
deathz0rz is offline
Citaat:
IceManX schreef op 03-08-2003 @ 17:37:
nog even een tip: beperk zoveel mogelijk het aantal karakters per regel. Laat dit bij voorkeur niet boven de 80 regels uitkomen (ivm het goed kunnen afbeelden op vrijwel elk scherm), als het kan niet boven de 70 (ivm printers).
typo?
__________________
Ooit. Dan.
Met citaat reageren
Oud 03-08-2003, 17:55
IceManX
Avatar van IceManX
IceManX is offline
Citaat:
deathz0rz schreef op 03-08-2003 @ 17:48:
typo?
gefixed
__________________
More than meets the eye - www.achterklap.nl
Met citaat reageren
Oud 06-08-2003, 12:48
Gimme more beer
Avatar van Gimme more beer
Gimme more beer is offline
Heb laatst met iemand gesproken die een zware online applicatie in PHP had geschreven en eigenlijk 1 grote file had waarin al z'n functies zaten etc.

Dat was meteen de enige file die je had en die zette je in de root van die applicatie. Alleen wat temp files en mysql vielen buiten deze file, maar alle instellingen en data die je gewoonlijk in een file stopt zaten er ook gewoon in.

Opzich wel leuk, geen probleem natuurlijk, maar deze file was zo'n 1400 KB groot en bij het veranderen zeer onoverzichtelijk.

Hoewel het misschien moeilijker mag lijken, raad ik daarom altijd aan om functies altijd in te delen in functiegroepen en deze in aparte files te stoppen en die dan weer in bepaalde mappen te stoppen. Zo moet je misschien af en toe wat meer typen, maar het risico dat je de verkeerde dingen (die misschien op de goede lijken) gaat editen wordt kleiner en voor iemand die er eens een keer naar wil kijken wordt het ook een stuk overzichtelijker...

Een file van 1400 KB (zo'n 1.400.000 tekens) is gewoon echt niet makkelijk te overzien. Qua snelheid maakt het opzich ook niet uit.
Roep ook je functies vanuit aparte files aan, want het is onzin om al je functie files te moeten includen vanuit je index. Kortom, werk ook met page includes.
__________________
Onderuitgezakt in de koffiehoek van het zorgcentrum zit Sieb met volle teugen na te genieten van de Tweede Wereldoorlog. Arnela is de liefste! <3
Met citaat reageren
Oud 06-08-2003, 13:25
niemand
Avatar van niemand
niemand is offline
Citaat:
Gimme more beer schreef op 06-08-2003 @ 13:48:
Hoewel het misschien moeilijker mag lijken, raad ik daarom altijd aan om functies altijd in te delen in functiegroepen en deze in aparte files te stoppen en die dan weer in bepaalde mappen te stoppen.
Ik zou aanraden om ze dan gelijk netjes in classes te gooien.
Met citaat reageren
Oud 06-08-2003, 23:15
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Citaat:
niemand schreef op 06-08-2003 @ 14:25:
Ik zou aanraden om ze dan gelijk netjes in classes te gooien.
Dat hangt er maar net van af of je dat paradigma gebruikt. Beetje nutteloos om zomaar alles in classes te gooien, als je OO wilt programmeren, moet je het goed doen.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Oud 08-08-2003, 13:06
Gimme more beer
Avatar van Gimme more beer
Gimme more beer is offline
Citaat:
niemand schreef op 06-08-2003 @ 14:25:
Ik zou aanraden om ze dan gelijk netjes in classes te gooien.
Dat kun je doen, dat is je eigen stijl. Ik gebruik ze bij de ene website weer wel en bij de andere weer niet.
__________________
Onderuitgezakt in de koffiehoek van het zorgcentrum zit Sieb met volle teugen na te genieten van de Tweede Wereldoorlog. Arnela is de liefste! <3
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 11:02.