Door
Ozzie PHP
op 21-10-2013 17:16
gewijzigd op 21-10-2013 17:17
1.712 views
Ola,
Ik ben benieuwd hoe ver jullie gaan met het becommentarieren van functies/method.
Normaal zou ik bijvoorbeeld dit doen:
<?php
// Add new paths to the existing paths.
public function addPaths($new_paths) {
$prefix_path = $this->prefix_path;
foreach ($new_paths as &$path) $path = $prefix_path . $path;
unset($path);
$this->paths = array_merge($this->paths, $new_paths);
}
?>
Nu was ik eens aan het experimenteren om binnen de method zelf ook commentaar te gebruiken. Dan krijg je dit:
<?php
// Add new paths to the existing paths.
public function addPaths($new_paths) {
// Set the prefix path.
$prefix_path = $this->prefix_path;
// Prefix each path with the prefix path.
foreach ($new_paths as &$path) $path = $prefix_path . $path;
unset($path);
// Merge the existing paths with the new ones.
$this->paths = array_merge($this->paths, $new_paths);
}
?>
Bij deze laatste variant kun je wel heel snel zien wat er in de method gebeurt, maar is het niet een beetje "overkill" vraag ik me af? Ik ben benieuwd hoe jullie hier tegenaan kijken.
Donny, klopt... maar de vraag was tot hoever je moet gaan. Niemand zegt hier dat je helemaal geen commentaar moet gebruiken.
Boven iedere functie/method schrijf ik commentaar (meestal maar 1 regel). Mijn vraag was of je in de functie/method zelf ook nog moet gaan uitleggen wat de code doet. Van de ene kant is dat wel mooi, maar van de andere kant is het ook "overkill", te veel van het goede zeg maar. De commentaar-regel die boven de functie/method staat die moet duidelijk maken wat die functie/method doet. En dat is eigenlijk alles wat jij hoeft te weten. Het gaat erom WAT ie doet, en niet HOE ie het doet.
Laat me even de boel wat omgooien: men zou veel vlugger dingen in een functie moeten steken.
Om bij het onderwerp te blijven ...
Als er ergens een aantal lijnen onder mekaar staan, en die lijnen code vergen commentaar; is de kans groot dat je die lijnen code beter in een functie steekt.
Dan zet je commentaar boven die functie.
Dus, wanneer je je afvraagt of er binnen een functie (of globaal) commentaar moet zijn;
vraag je eerder af of die code wel in die functie past.
De eerste programmeur die voor mij werkt en geen commentaar bij zijn code zet (OOP of niet) wordt op staande voet ontslagen. Heb je enig idee hoeveel extra tijd je kwijt bent aan het interpreteren van de code als er geen commentaar bij staat? Code zonder commentaar is als een zwarte doos. Als je het moet gaan aanpassen kan je net zo goed opnieuw beginnen, dat is 9 van de 10 keer sneller.
disclaimer: ik heb op dit moment geen personeel in dienst, dus niemand hoeft voor zijn baan te vrezen.