Files
lespiedsdanslecode/public/posts/2008/2008-06-22-drapeaux-en-pagaille/index.html
T
2019-02-24 23:33:14 +01:00

51 lines
4.5 KiB
HTML

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Yannick François - Les pieds dans le code</title>
<meta name="DC.title" content="elsif.fr, site de Yannick François aka yaf aka pouype."/>
<meta name="description" content="Yannick François's website. Senior developer, Code pedagogist. /ut7 teammate, proud member of Electrolab, the crazy hackerspace. Eternel supporter of April, a french association about freesoftware."/>
<meta name="keywords" content="code, développement, lean, agile, logiciel, tdd, objet, ruby, site perso, personnel, ruby on rails, refactoring, openbsd, bsd, libre, creative commons, unix"/>
<meta name="author" content="Yannick François, https://elsif.fr"/>
<meta name="designer" content="Yannick François, https://elsif.fr"/>
<meta name="geo.placename" content="Poissy, Ile de france, France"/>
<meta name="robots" content="index,follow" />
<meta name="language" content="French" />
<meta name="HandheldFriendly" content="True" />
<meta name="MobileOptimized" content="320" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" />
<link rel="index" title="Yannick François / Developer" href="https://elsif.fr" />
<link rel="stylesheet" href="/css/knacss.css" media="all"/>
<link rel="stylesheet" href="/css/elsif.css" media="all"/>
<article>
<h1>
Drapeaux en pagaille
</h1>
<p>En disant drapeau, je pense aux eternels <em>flags</em> qui font fureur dans beaucoup d&rsquo;applications de gestion (et peut-être d&rsquo;autres). On en met un par là pour dire que <em>ça c&rsquo;est fait !</em>, un autre par ici pour signaler <em>c&rsquo;est à faire</em>, un autre là bas pour un <em>peut-être qu&rsquo;il faudrais s&rsquo;en occuper</em>. J&rsquo;avoue ne pas aimer du tout ce genre de donner. Et depuis longtemps une des question qui revient souvent dans mon esprit est <em>Mais pourquoi utiliser des flags ? Et comment pourrait-on s&rsquo;en sortir sans ?</em></p>
<p>Je pense que les flags sont là pour nous permettre de <em>mettre à plus tard</em> un traitement, effectuer une sorte de désynchronisation. Soit pour dire <em>c&rsquo;est à faire</em>, soit pour dire <em>c&rsquo;est fait</em>. Alors pourquoi ne pas faire les choses tout de suite ?</p>
<p>Je pioche un exemple dans l&rsquo;application sur laquelle je travail aujourd&rsquo;hui: la facturation. Un facture est créée dans le système, on la stock dans la base. Jusqu&rsquo;ici, c&rsquo;est classique. Mais voilà, le système doit communiquer avec 2 voir 3 système externe (selon les filialles dans lesquels on installe l&rsquo;application). Alors on lui colle des flags logique: <em>0</em>,<em>1</em> ou carement des flags textuel <em>send</em>,<em>ready</em>,<em>send</em>. Le tout pour que lors de l&rsquo;execution d&rsquo;un batch, un peu plus tard dans la journée, voir à la fin du mois, le programme soit capable de savoir quelle facture il doit prendre en compte.</p>
<p>Mais finalement, pourquoi ne pas, au moment de la création de la facture, de son annulation ou tout autres évènement, créer des objets propre au batch devant s&rsquo;executer plus tard ? Pourquoi ne pas faire les choses tout de suite ? On pourrais me dire: &ldquo;Oui mais tu comprends ça fait créer une table pour chaque application externe et tout ça&rdquo;. Bah, aujourd&rsquo;hui on se bat avec des flags à initialiser, à mettre à jour, à modifier sur chaque évènement, alors bon. Pourquoi ne pas travailler tout de suite sur une structure qui facilite l&rsquo;execution du batch ? En plus cela découplerais la facture de notre système et l&rsquo;image d&rsquo;elle même que l&rsquo;on doit envoyer aux autres (qui souvent n&rsquo;est pas vraiment la même). On pourrais aussi du coup modifier, sans impacter le système courant, l&rsquo;image que l&rsquo;on doit envoyer quand l&rsquo;application externe change de mode de fonctionnement.</p>
<p>Vous en pensez quoi vous ? Il y a beaucoup de flag chez vous ? Avez vous une autre idée pour s&rsquo;en passer ?</p>
<p><em>A chaque fois que ces flags sont sources de problème, je me lève dans l&rsquo;openspace pour faire des signes, comme quand sur les portes avions, les petites mains font signe au avion avec des drapeau pour les remettre à l&rsquo;horizontal :-), que je suis chiant des fois</em></p>
<article>
<footer style="font-size:75%;text-align:right"><em><a href="/feed.xml">suivre les articles</a></em></footer>
</body>
</html>