[taal] wat is duidelijker?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ozzie PHP

Ozzie PHP

24/05/2014 00:12:14
Quote Anchor link
Hey allemaal,

Stel ik heb een class:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

class X {

  private $name;
  private $description;

}


?>

Deze class X heeft 2 class properties $name en $description die ik wil serializen.

Ik vraag me af of het correct is om de geserialiseerde string $serialized_properties te noemen.

$serialized_properties = serialize(...);

Is dit logisch? Ik twijfel omdat ik niet de properties zelf ($name en $description) serialize, maar de waardes van die properties. Zou ik het dan zo moeten noemen?

$serialized_property_values = serialize(...);

Ik vind de laatste naam nogal lang, maar ik twijfel tegelijkertijd of de 1e optie wel correct is.

Iemand die me een duwtje in de goede richting geeft?
Gewijzigd op 24/05/2014 00:14:00 door Ozzie PHP
 
PHP hulp

PHP hulp

16/07/2019 07:07:03
 
Bart V B

Bart V B

24/05/2014 07:33:49
Quote Anchor link
Dat maakt toch geen ruk uit hoe die variabele heet. Als jij maar weet wat het inhoud.
Overigens zou ik zelf iedere begin letter van een woord met een hoofdletter beginnen.
Dus iets van $SerializedPropertiesValues.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/05/2014 11:38:39
Quote Anchor link
Bart V B op 24/05/2014 07:33:49:
Dat maakt toch geen ruk uit hoe die variabele heet. Als jij maar weet wat het inhoud.
Overigens zou ik zelf iedere begin letter van een woord met een hoofdletter beginnen.
Dus iets van $SerializedPropertiesValues.


Bart dat druist in tegen de algemene gebruiken. Die zeggen namelijk dat variabelen met een kleine letter moeten beginnen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
Variables
Variable names may only contain alphanumeric characters. Underscores are not permitted. Numbers are permitted in variable names but are discouraged in most cases.

For instance variables that are declared with the "private" or "protected" modifier, the first character of the variable name must be a single underscore. This is the only acceptable application of an underscore in a variable name. Member variables declared "public" should never start with an underscore.

As with function names (see section 3.3) variable names must always start with a lowercase letter and follow the "camelCaps" capitalization convention.

Verbosity is generally encouraged. Variables should always be as verbose as practical to describe the data that the developer intends to store in them. Terse variable names such as "$i" and "$n" are discouraged for all but the smallest loop contexts. If a loop contains more than 20 lines of code, the index variables should have more descriptive names.


bron: http://framework.zend.com/manual/1.10/en/coding-standard.naming-conventions.html

Toevoeging op 24/05/2014 11:44:52:

Ik doe het dan zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$serializedPropertiesValues
;
?>


Overigens gebruik ik geen underscores voor private properties maar dat zou je dus ook moeten doen als je heilig wil zijn in de ogen van de makers van 'Zend'
 
Bart V B

Bart V B

24/05/2014 12:46:08
Quote Anchor link
Nee hoor, druis niet tegen de principes in. ;)
Ben alleen vergeten te vermelden dat ik aangeef wat iets voorsteld.
In dit geval bijvoorbeeld een string.
Dus dan kom je uit op
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sSerializedPropertiesValues

En dan begint mijn variabele met een kleine letter. Was nog niet helemaal wakker vanmorgen.
 
Ozzie PHP

Ozzie PHP

24/05/2014 14:04:16
Quote Anchor link
Hallo heren,

Waar jullie het nu over hebben, zijn naamgeving conventies. Daar ging mijn vraag niet over...

Ik wil de properties serializen. Kun je dan zeggen dat je de properties serializet? Is dat oké om te zeggen, of is dat onduidelijk/verwarrend en moet je spreken over de VALUES van de properties?
 
Ward van der Put
Moderator

Ward van der Put

24/05/2014 14:34:29
Quote Anchor link
Als ik naar je eerste voorbeeld kijk, zou ik hier géén variabele en géén property gebruiken, maar een methode. Voor de bronwaarden gebruik je gewoon $name en $description; daarvan maak je géén kopie in een nieuwe variabele of eigenschap.

Is er maar één zo'n methode die properties retourneert, dan volstaat getProperties().

Zijn er meerdere methoden, dan laat je de overeenkomsten én de verschillen tot uitdrukking komen in gelijksoortige namen, bijvoorbeeld getPropertiesArray() naast getPropertiesString().

Het verreweg belangrijkste criterium is echter: doe wat je zelf het meest logisch en duidelijkst vindt.

Offtopic:
Ik gebruik zelf tegenwoordig een syntaxis waarin een onderscheid wordt gemaakt tussen properties en variabelen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class UpperCamelCase
{
    const UPPER_CASE = true;

    private $UpperCamelCase;

    public function lowerCamelCase($lower_case)
    {

        $this->UpperCamelCase = $lower_case;
    }
}

?>
 



Overzicht Reageren

 
 

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.