<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Oui c'est ça, Sébastien nous a pointé
vers l'article d'Ovid, et on a repris l'essentiel du code pour
notre module.</div>
<div class="moz-cite-prefix">Du coup on va maintenant mettre des
signatures dans tous nos modules. :)<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Stéphane</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Le 06/07/2022 à 14:45, Kai Carver a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:CAMjGNJg2QcYnVqwfaz1Mds1UK-TFCoRSujgp4oRbmtvwXvkOxw@mail.gmail.com">
<div dir="ltr">Cool et merci de nous tenir au courant !
<div><br>
</div>
<div>J'ai pas tout suivi mais apparemment vous vous êtes basés
sur cet article par Ovid :</div>
<div><br>
</div>
<blockquote>
<div><span>I know that </span><code><span>Veure</span><span>::</span><span>Module</span></code><span> won't
meet your exact needs, but the idea of building standards
into a single module is worth the trouble. Combine that
with </span><code><span>Perl</span><span>::</span><span>Critic</span></code><span> and </span><code><span>Perl</span><span>::</span><span>Tidy</span></code><span> and
you're well on your way to reining in the headache of
large codebases.</span></div>
</blockquote>
<div>
<div><br>
</div>
<div><a
href="http://blogs.perl.org/users/ovid/2019/03/enforcing-simple-standards-with-one-module.html"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://blogs.perl.org/users/ovid/2019/03/enforcing-simple-standards-with-one-module.html</a><br>
</div>
</div>
<div><br>
</div>
<div>k</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, 6 Jul 2022 at 13:51,
Stéphane Gigandet <<a href="mailto:biz@joueb.com"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">biz@joueb.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote">Hello,<br>
<br>
Suite à ce message, Sébastien Feugère (un grand merci à lui) a
répondu <br>
en commentaire dans l'issue sur GitHub, et il nous a pointé
vers <br>
Veure::Module.<br>
<br>
On a donc activé les signatures, avec un module pour remplacer
le <br>
Modern::Perl qu'on utilisait jusqu'alors pour le "boilerplate"
:<br>
<a
href="https://github.com/openfoodfacts/openfoodfacts-server/pull/7009"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/openfoodfacts/openfoodfacts-server/pull/7009</a><br>
<br>
package ProductOpener::PerlStandards;<br>
<br>
use 5.24.0;<br>
use strict;<br>
use warnings;<br>
use feature ();<br>
use utf8;<br>
<br>
sub import {<br>
warnings->import;<br>
warnings->unimport('experimental::signatures');<br>
strict->import;<br>
feature->import(qw/signatures :5.24/);<br>
utf8->import;<br>
}<br>
<br>
sub unimport {<br>
warnings->unimport;<br>
strict->unimport;<br>
feature->unimport;<br>
utf8->unimport;<br>
}<br>
<br>
1;<br>
<br>
Bonne après midi,<br>
<br>
Stéphane<br>
<br>
<br>
Le 30/06/2022 à 10:08, Stéphane Gigandet a écrit :<br>
> Bonjour,<br>
><br>
> Dans le code d'Open Food Facts, on a pris l'habitude
d'utiliser les <br>
> prototypes des fonctions pour indiquer le nombre de
paramètres attendus.<br>
><br>
> Du genre :<br>
><br>
> sub ma_fonction($$) {<br>
><br>
> my $param1 = shift;<br>
><br>
> my $param2 = shift;<br>
><br>
> ..<br>
><br>
> }<br>
><br>
> C'est pratique car si j'appelle ma_fonction("un seul
paramètre"), j'ai <br>
> une erreur à la compilation.<br>
><br>
> Mais il y a plein de posts qui expliquent quel les
prototypes en Perl <br>
> c'est mal et qu'il ne faut pas les utiliser comme ça. En
pratique <br>
> aucune de nos fonctions n'est appelée avec des listes en
paramètres, <br>
> seulement des scalar / des ref.<br>
><br>
> On se pose la question de changer ces prototypes : les
garder, les <br>
> enlever, les remplacer par les signatures <br>
> <a href="https://perldoc.pl/perlsub#Signatures"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://perldoc.pl/perlsub#Signatures</a>
?<br>
><br>
> Le début de discussion est là : <br>
> <a
href="https://github.com/openfoodfacts/openfoodfacts-server/issues/6956"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/openfoodfacts/openfoodfacts-server/issues/6956</a><br>
><br>
> Je me demandais ce que vous faisiez dans vos projets ?<br>
><br>
> Merci et bonne journée (sous la pluie ?),<br>
><br>
> Stéphane<br>
><br>
> _______________________________________________<br>
> Perl mailing list<br>
> <a href="mailto:Perl@mongueurs.net" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">Perl@mongueurs.net</a><br>
> <a
href="http://listes.mongueurs.net/mailman/listinfo/perl"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://listes.mongueurs.net/mailman/listinfo/perl</a><br>
> Attention, les archives sont publiques<br>
<br>
<br>
_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@mongueurs.net" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">Perl@mongueurs.net</a><br>
<a href="http://listes.mongueurs.net/mailman/listinfo/perl"
rel="noreferrer" target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">http://listes.mongueurs.net/mailman/listinfo/perl</a><br>
Attention, les archives sont publiques<br>
</blockquote>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
Perl mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Perl@mongueurs.net">Perl@mongueurs.net</a>
<a class="moz-txt-link-freetext" href="http://listes.mongueurs.net/mailman/listinfo/perl">http://listes.mongueurs.net/mailman/listinfo/perl</a>
Attention, les archives sont publiques</pre>
</blockquote>
<p><br>
</p>
</body>
</html>