![]() |
programmeerstijl tips?
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 |
ik snap niet helemaal wat je bedoeld?
|
1. Gebruik indent
|
gebruik een fatsoenlijke editor(met syntax highlighting en met automatisch inspringen) :p . Ik weet niet of je dat bedoelt, maar een tip van mijn kant :D
|
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 :) |
Citaat:
|
Citaat:
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 |
Citaat:
|
Citaat:
Wat je dus ziet bij mensen is dit: Code:
int i; //Integer definieren. |
Citaat:
|
Citaat:
$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; } |
*zucht* over bovenstaande berichen :rolleyes:
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) |
Citaat:
|
Citaat:
|
Citaat:
|
Citaat:
|
Citaat:
'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})[\+\<\>]*~~; |
Citaat:
|
:cool: hot topic :D
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 :) |
Citaat:
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). |
Citaat:
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. |
Citaat:
|
Citaat:
|
|
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. |
Citaat:
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... |
een a4 vel met de code in courier 10 punts neem ik aan dat ie bedoelt :)
|
Citaat:
Het hangt maar van je functie af. |
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 :p) 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. |
Citaat:
|
Citaat:
|
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. |
Citaat:
|
Citaat:
|
Citaat:
|
Alle tijden zijn GMT +1. Het is nu 17:15. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.