Netjes programmeren

Door Winston Smith, 22 jaar geleden, 8.053x bekeken

De volgende tutorial is grotendeels een vertaling en bewerking van de codeerstandaard van PEAR. Het leert je om efficiënt, consistent en consequent te programmeren.

Gesponsorde koppelingen

Inhoudsopgave

  1. Inspringen & Regellengte
  2. Naamgeving
  3. Overig
  4. Controlestructuren
  5. Een voorbeeld en verder lezen
  6. Functies
  7. Commentaar

 

Er zijn 34 reacties op 'Netjes programmeren'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Woopie100
Woopie100
22 jaar geleden
 
0 +1 -0 -1
RELAXE :)
Legolas
Legolas
22 jaar geleden
 
0 +1 -0 -1
Het enige dat ik zo snel niet zag is phpdoc =)
Winston Smith
Winston Smith
22 jaar geleden
 
0 +1 -0 -1
Klopt, dat had ik eruit gelaten om het niet te lastig te maken en omdat de meesten het toch niet nodig zullen hebben. Mocht er vraag naar zijn, dan zal ik het toevoegen. :)


22 jaar geleden
 
0 +1 -0 -1
Je vergeet hier en daar accolades te zetten en hier was toch al een tut over?
Winston Smith
Winston Smith
22 jaar geleden
 
0 +1 -0 -1
Als je je eigen tutorial bedoelt, dan denk ik dat deze tutorial toch wezenlijk verschillend en uitgebreider is :) En anders maakt dat niet zoveel uit: er zijn ook meerdere tuts over OOP en switches en dergelijke. De ??n zal de ene tut beter, makkelijker en handiger vinden, de ander de andere tut.

Op welke pagina('s) ben ik accolades vergeten?
Erik Rijk
Erik Rijk
22 jaar geleden
 
0 +1 -0 -1
@ Kasper

In het begin luisterde ik zelf ook nooit naar andere mensen die zeiden dat ik overzichtelijker moest programmeren.
Maar naarmate je verder komt en meer gaat leren ga je begrijpen dat overzichtelijk programmeren alleen maar makkelijker is voor jezelf.

Ik denk dat je met deze tutorial een hoop mensen hebt aangesproken.

Mvg,

Erik


22 jaar geleden
 
0 +1 -0 -1
Een deel staat al in deze tutorial. E?n verwijderen of hier een gedeelte verwijderen.
Ik ben aan het opruimen vandaag ;-)
Vincent
Vincent
22 jaar geleden
 
0 +1 -0 -1
Zeer interessante tut!
Bevatten diverse bruikbare elementen, aangezien ik zelf ook nog aan het stoeien ben met een goede, duidelijke opmaak (en nu nog inconsistent ben met bijv. gebruik van spaties).
Jan Koehoorn
Jan Koehoorn
22 jaar geleden
 
0 +1 -0 -1
Mooie tutorial. Ik programmeer al vrij lang en hou voor mezelf ook redelijk strakke regels aan. De controlestructuren doe ik wel anders dan hier aanbevolen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
  if ((condition1) || (condition2)) {
      action1;
  }
elseif ((condition3) && (condition4)) {
      action2;
  }
else {
      defaultaction;
  }

?>


schrijf ik liever zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
  if ((condition1) || (condition2)) {
      action1;
  }

  elseif ((condition3) && (condition4)) {
      action2;
  }

  else {
      defaultaction;
  }

?>


De reden daarvan is dat op mijn manier de woorden 'if', 'elseif' en 'else' evenveel inspringen en dat vind ik lekkerder lezen.
Legolas
Legolas
22 jaar geleden
 
0 +1 -0 -1
Ben het eens met jan, ik ben nogal tegen '} else {' :P

Overigens over benaming zou ik zo doen:
class SomeClass
function someFunction()
$somevariable

(var prefixen doe ik meestal niet omdat het toch bijna altijd mixed is :P)
Pim Vernooij
Pim Vernooij
22 jaar geleden
 
0 +1 -0 -1
mijn syntax is bijna hetzelfde als die van Jan, alleen gebruik ik meer spaties:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
class SomeClass extends BaseClass {
      function
doSomething( $id, $something ) {
            if( $something == "bla" ) {
                  return( $this->editRecord( $id ) );
            }

            return( $this->getError() );
      }
}

?>

classes begin ik met een hoofdletter, functies met een kleine letter en variabelen met een kleine letter. Bij ieder nieuw 'woord' binnen zo'n benaming is de eerste letter een hoofdletter.
EdwinG
EdwinG
22 jaar geleden
 
0 +1 -0 -1
In tegenstelling tot deze tutorial ben ik gewend om tab te gebruiken in plaats van spaties. Zelfs kladblok ondersteund al tabs, dus een probleem kan het niet zijn. (is gewoon een ascii-teken volgens mij).
Het belangrijkste voordeel van tabs is dat iedereen zijn eigen tab-lengte in kan stellen, afhankelijk van zijn/haar voorkeur. Bij spaties zijn de bestanden minder makkelijk aan te passen op dat punt.
Legolas
Legolas
22 jaar geleden
 
0 +1 -0 -1
Ik dacht dat pear ook tabs voorschrijft


22 jaar geleden
 
0 +1 -0 -1
Het is misschien voor anderen niet ovezichtelijk, maar voor mij wel om geen var-prefixen te doen en gewoon if () { en } else { dus geen accolades op een nieuwe lijn. Doe ik in iedere programmeertaal en dat gaat goed tot nu toe :-)

En net zoals Edwin gebruik ik in iedere taal tabs waar ik ook nog geen probs mee gehad heb.
Winston Smith
Winston Smith
22 jaar geleden
 
0 +1 -0 -1
Ik moet bekennen dat ik zelf ook altijd de tab-toets gebruik, en zelf heb ik er ook niet veel problemen mee gehad. Probeer ik echter de broncode van bv. phpMyAdmin te bekijken in kladblok, dan staat alles achter elkaar. In mijn PHP editor kan je het wel bekijken met opmaak, dus ik denk dat dat daarmee te maken heeft?

Vroeger schreef ik trouwens de accolades ook op een nieuwe regel, dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($condition)
{

    action1;
}

else
{
    action2;
}

?>


Maar dat vond ik op den duur toch wel onoverzichtelijk worden; daarom volg ik nu wel de pear-standaard en dat werkt wel overzichtelijker. Het liefste zou ik echter nog een editor hebben met de mogelijkheid om stukken code in en uit te klappen, maar mijn favoriete editor heeft dat helaas niet. :(


22 jaar geleden
 
0 +1 -0 -1
@Kasper
Dat van die accolades doe ik ook. Vindt het juist wel overzichtelijk
Legolas
Legolas
22 jaar geleden
 
0 +1 -0 -1
@kasper: dat met geen nieuwe regels is omdat windows \r\n gebruikt en linux \n ;)
EdwinG
EdwinG
22 jaar geleden
 
0 +1 -0 -1
\r\n Probleem is een bekende, kladblok is overigens het enige programma (voor zover ik weet) dat er last van heeft. Zelfs wordpad ziet de uiteinden gewoon goed.
Legolas
Legolas
22 jaar geleden
 
0 +1 -0 -1
jup da's ook de truck, openen in write (wordpad) enter typen en weghalen, opslaan en je kan weer in kladblok :)
EdwinG
EdwinG
22 jaar geleden
 
0 +1 -0 -1
Open in write/wordpad/word, ctrl+a, ctrl+c, en in kladblok ctrl+v zou ook al moeten werken.
Legolas
Legolas
22 jaar geleden
 
0 +1 -0 -1
Winston Smith
Winston Smith
22 jaar geleden
 
0 +1 -0 -1
Quote:
Misschien wat weinig commentaar? :P Geintje, ziet er goed uit (alhoewel niet volgens de PEAR standaard) ;)
Bernardo
Bernardo
22 jaar geleden
 
0 +1 -0 -1
Ik gebruik vaak 2 spaties. Bij 4 word het soms zo ver uit elkaar...
Winston Smith
Winston Smith
22 jaar geleden
 
0 +1 -0 -1
Je moet ook niet t? diep gaan nesten. ;) Als je er 4 gebruikt, zie je wel sneller wat bij elkaar hoort en wat niet.


22 jaar geleden
 
0 +1 -0 -1
Vaak doe ik commentaar als // en /* ... */
en als ik voor de test iets gommentariseerd (wat later toch gecommentariseerd blijft staan) gooi ik er een #hekje# voor.
Iisys
iisys
22 jaar geleden
 
0 +1 -0 -1
Ik ben het ook met Jan eens =)

@Kasper
Iets wat mij opviel. Bij het deel over commentaar wordt voorgeschreven de // en /* */ notatie te gebruiken en de # niet te gebruiken. Ik gebruik de perl/shell notatie bijna altijd al.
Ik zag ook dat je het bijna precies (vertaalt) hebt overgenomen van de PEAR manual, maar weet je ook waarom het zo is dat die wordt afgeraden?
Winston Smith
Winston Smith
22 jaar geleden
 
0 +1 -0 -1
@iisys: het is een vrijwel exacte vertaling omdat het de bedoeling is dat het uiteindelijk ook op de website van PEAR geplaatst gaat worden. Dit is zeg maar een test-versie daarvoor :)

De reden dat PEAR UNIX shell-stijl commentaar afraadt ken ik niet; ik neem aan dat dat een ongewone manier is van becommentari?ren in andere programmeertalen (alhoewel je de # soms ook in andere talen kan gebruiken). PHP ondersteunt officieel ook de shell-stijl becommentari?ringswijze, dus het is niet zo dat het uiteindelijk zal verdwijnen (zonder waarschuwing) waardoor je scripts verouderd raken.

Maar wellicht is het ook PEAR-eigen. PEAR raadt vrij veel dingen af wanneer je voor PEAR zelf wilt schrijven. Heb je echter geen intenties om het daar te publiceren, dan staat het je uiteraard vrij om je eigen programmeerwijze aan te houden.

Als er mensen zijn die de reden w?l kennen, dan verneem ik dat ook graag :)
Cees St
Cees St
22 jaar geleden
 
0 +1 -0 -1
Volgens mij ben je met een GOEDE editor (IDE) al een heel eind op weg. Daar zit meestal een functie op van clean up sourcecode.
De meesten roepen dan gelijk, dat is luiheid! Onzin die mensen hebben nog nooit aan projecten deelgenomen waar meerdere ontwikkelaars bij betrokken zijn.
Het geautomatiseerd organiseren van sources, verhoogt de leesbaarheid en onderwijl ook de kwaliteit van het geleverde. Daarbij hebben dergelijke producten vaak ook project management, versie bescherming en een debugger ingebouwd.
Voor de prijs hoef je het niet meer te laten, voor rond de 30 euro zijn er verschillende systemen te koop. Google maar eens "php editor".
Wij gebruiken PHPEdit, en NEE hebben daar geen belang maar wel goede ervaringen mee. Als je goed zoek is er zelfs nog een freeware versie van beschikbaar. Met dreamweaver of PSPad kan het ook bijvoorbeeld. Dreamweaver is duur en PSPad is op http://www.pspad.com/ gratis en kan dus wat minder.

Natuurlijk blijven slechte programmeurs ook nu nog slechte programmeurs.

Groet Cees :)
PHP erik
PHP erik
20 jaar geleden
 
0 +1 -0 -1
Even een h??l late reactie op een oude (goede) tutorial:

Zend raadt aan je scripts niet af te sluiten met ?> om witregels te voorkomen. Zo output je script nooit whitespace. Mocht je ?> nodig hebben dan weet je ook zeker dat je niet optimaal (OO) programmeert.
Wouter K
Wouter K
20 jaar geleden
 
0 +1 -0 -1
Als je het niet afsluit krijg je een dikke error hier :)
PHP erik
PHP erik
20 jaar geleden
 
0 +1 -0 -1
Dan ben ik heel benieuwd welke versie je gebruikt, want ik gebruik nooit meer ?>


18 jaar geleden
 
0 +1 -0 -1
Als je op een goede manier programmeert, mvc e.d. heb je inderdaad ?> niet meer nodig. Heb je echter PHP en HTML door elkaar, heb je ?> nodig...

@Erik; ik snap volledig wat je bedoeld, dat vooropgesteld!
Computer
Computer
17 jaar geleden
 
0 +1 -0 -1
Ik verbaas me over dat voorbeeld:
http://pear.php.net/manual/en/standards.sample.php
Dat bevat ongeveer 10 keer zoveel commentaar als code! Daar kan ik nog wat van leren...
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Peter de Beer
Peter de Beer
13 jaar geleden
 
0 +1 -0 -1
Top stuk

Nog een tip die ik altijd in mijn hoofd hou

Enters zijn gratis !!

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Inspringen & Regellengte
  2. Naamgeving
  3. Overig
  4. Controlestructuren
  5. Een voorbeeld en verder lezen
  6. Functies
  7. Commentaar

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.