Quels sont vos astuces et secrets de programmation ? Confiez-nous vos trucs pour gagner du temps ou impressionner les collègues
Le 29/10/2010, par Idelways, Coordinateur publications
Vous faites du développement depuis des années dans votre langage favori et vous croyez qu'il a fini de vous surprendre ?
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 ?
Si cette astuce est anecdotique, voir inutile, d'autres peuvent surprendre et s'avérer très utiles, comme ce bout de code, certes un peu extrême pour des raisons de démonstration :
Il s'agit en fait de l'utilisation des variables dynamiques, ou les variables des variables, une astuce qui marche aussi (et heureusement) pour les fonctions et méthodes de classes.
Toujours en PHP, connaissez-vous la classe standard ? Qui permet de se passer, dans certaines situations des tableaux associatives ou de déclarer inutilement des data-classes :
Il est même possible de « caster » un tableau associatif en Objet et l'utiliser comme tel :
Vous avez de nombreuses classes et vous souhaitez éviter de les parser et les charger toutes en mémoire pour n'en utiliser que quelques-unes ?
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 :
Bref, ces quelques exemples exclusivement en PHP, illustre une réalité de tous les langages : ils ont des secrets !
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
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 :
1 2 | echo 'John', 'Doe'; |
Code :
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 :
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 :
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 :
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 :
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



Poster une réponse
?
?
