Pas si sûr, car tous les langages ont des secrets, des fonctionnalités cachées que vous rencontrez un beau jour sur le code d'un collègue, sur un projet open-source ou même par une malheureuse (ou heureuse?) faute de frappe.
En PHP par exemple, savez-vous qu'il est possible d'appeler « Echo » avec plusieurs paramètres et faire, en quelque sorte de la concaténation avec une virgule ?
Code : | Sélectionner tout |
1 2 | echo 'John', 'Doe'; |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php $Bar = "a"; $Foo = "Bar"; $World = "Foo"; $Hello = "World"; $a = "Hello"; $a; // retourne Hello $$a; // retourne World $$$a; // retourne Foo $$$$a; // retourne Bar $$$$$a; // retourne a $$$$$$a; // retourne Hello $$$$$$$a; // retourne World ?> |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | $foo = 'bar'; $bar = 'foobar'; function bar() { echo 'Hello world!'; } function foobar() { echo 'Quelle belle journée'; } $foo(); // Affiche Hello world! $$foo(); // Affiche Quelle belle journée! |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | $person = array(); $person['nom'] = 'John Doe'; $person['age'] = 42; // devient $person = new stdClass(); $person->nom = 'bob'; $person->age = 5; |
Code : | Sélectionner tout |
1 2 3 4 | $obj = (object)array('nom' => 'bob', 'age' => 5); echo $obj->nom; |
PHP a la solution, la routine __autoload() permet d'exécuter du code à chaque instanciation, ce qui permet entre autre, d'inclure le fichier de la classe en question :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php error_reporting(E_ALL); set_include_path(get_include_path() . PATH_SEPARATOR . '../libs/'); function __autoload($classname) { // chaque classe est stockée dans un fichier unique dans le dossier libs "libs/{$classname}.class.php" echo $classname; include_once $classname . '.class.php'; } $a = new model(); ?> |
Vous en connaissez certainement dans votre langage de prédilection. Alors n'hésitez pas ; faites en nous part.
Car rappelez-vous qu'un secret est, comme dit l'expression, « une chose que l'on ne répète qu'à une seule personne ».
Et vous ?
Quelles sont les astuces et secrets de développement favoris ? Dans quel contexte vous en servez-vous ? Comment avez-vous découvert ce secret ?
En collaboration avec Gordon Fowler