Hello les méchants!
Petite pause de début/fin d’année pour tous. On reprendra les articles sur SOLID début janvier. On parlera également de designs pattern, TDD et aussi d’intégration continue.
Mais en attendant les « vacances », voici 3 « petites » perles (+1 gratuite) à déguster avec sagesse. Au menu:
- De l’eval comme on les aime en amuse bouche
- Un commentaire qui fait froid dans le dos, comme entrée
- Un condition typique des juniors (désolé) comme plat
- Et pour le dessert, une manière bien spéciale de s’assurer qu’un booléen est un booléen… Enfin je crois!
Trêve de bavardages inutiles et faisons place aux gurus!
1. Eval false
On commence léger avec un petit amuse-bouche en javascript. Je ne comprend toujours pas ce que vient faire l’eval ici:
1 |
var scrollv = eval(false); |
2. Le commentaire de la mort
Âmes sensibles s’abstenir… Je rappelle que tout ici est authentique, c’est difficile à croire 🙂
1 |
//Todo, probablement pas optimal, probablement oubli de gestion de certain cas... |
Le développeur ne connait pas les cas qui ne sont pas gérer. Ça nous fais une bonne jambe! Sans test unitaire, cela rend la tache encore plus difficile. Bref, pour ces cas là: vive le TDD
3. La condition du noob
Je pense bien faire, je « déclare » ma variable, l’intention y est…
1 2 3 4 5 |
$canView; if ($condition1 && $condition2 && $condition3) { $canView = true; } else $canView = false; |
On aurait peut-être pu faire plus simple:
1 2 |
$canView = $condition1 && $condition2 && $condition3 //Et pourquoi pas faire une méthode canView() si c'est possible? |
4. Bang bang, you shoot me down
Celle-ci aussi vaut son pesant de cacahuète.
1 |
return !!(tariff->getPrice(false) < this->getPrice(false)); |
Je ne sais pas pourquoi ce « double bang » au début. Peut-être pour simplifier le fait de « vite changer pour voir si ça fonctionne pas dans l’autre cas »… J’espère au moins qu’il n’a pas fait ça pour s’assurer qu’on ai bien un booléen… Je doute, je ne sais pas, je ne sais plus, je suis perdu.
Bonne année!
J’espère que tout cela ne vous a pas donné une indigestion. Je vous souhaite à tous une bonne et méchante année 2014.
A très bientôt!
Salut,
Pas mal :). Concernant le double « !! » souvent il permet de transtyper de forcer le type boolean en sorti. Enfin ca dépend des languages. Remplace le (boolean)(tariff->getPrice(false) getPrice(false));
Yep! On peut aussi le caster en boolean en php comme tu viens de faire (bool). Ca je peux comprendre, mais le faire sur une valeur qui renvoi déjà un un booléen, c’est dommage. En effet, « valeur < valeur2" vaudra toujours true ou false 🙂