- les constantes sont généralement écrites tout en majuscules, donc
pattern pourrait s'appeler PATTERN (ou quelque chose de plus significatif)
- les variables globales sont généralement à éviter (cf. import this).
Pour un petit script en ligne de commande, ce n'est pas vraiment un
problème, mais si ton code se retrouve un jour appelé depuis une appli
plus volumineuse, tu peux rencontrer des conflits de nommage et des
problèmes d'accès concurrents. En pratique, on a quasiment jamais besoin
de variables globales.
- le module getopt n'est utilisé nulle part (import inutile),
félicitations pour avoir pensé à utiliser OptionParser !
- les constantes sont généralement écrites tout en majuscules, donc
pattern pourrait s'appeler PATTERN (ou quelque chose de plus significatif)
- les variables globales sont généralement à éviter (cf. import this).
Pour un petit script en ligne de commande, ce n'est pas vraiment un
problème, mais si ton code se retrouve un jour appelé depuis une appli
plus volumineuse, tu peux rencontrer des conflits de nommage et des
problèmes d'accès concurrents. En pratique, on a quasiment jamais besoin
de variables globales.
- le module getopt n'est utilisé nulle part (import inutile),
félicitations pour avoir pensé à utiliser OptionParser !
- les constantes sont généralement écrites tout en majuscules, donc
pattern pourrait s'appeler PATTERN (ou quelque chose de plus significatif)
- les variables globales sont généralement à éviter (cf. import this).
Pour un petit script en ligne de commande, ce n'est pas vraiment un
problème, mais si ton code se retrouve un jour appelé depuis une appli
plus volumineuse, tu peux rencontrer des conflits de nommage et des
problèmes d'accès concurrents. En pratique, on a quasiment jamais besoin
de variables globales.
- le module getopt n'est utilisé nulle part (import inutile),
félicitations pour avoir pensé à utiliser OptionParser !
> Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
> Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
> Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
- le module getopt n'est utilisé nulle part (import inutile),
félicitations pour avoir pensé à utiliser OptionParser !
- le module getopt n'est utilisé nulle part (import inutile),
félicitations pour avoir pensé à utiliser OptionParser !
- le module getopt n'est utilisé nulle part (import inutile),
félicitations pour avoir pensé à utiliser OptionParser !
Le Mon, 02 Mar 2009 18:02:54 +0000, Alex écrivait:- les constantes sont généralement écrites tout en majuscules, donc
pattern pourrait s'appeler PATTERN (ou quelque chose de plus significatif)
Corrigé, même si je garde PATTERN (rien de mieux me vient à l'esprit)
- les variables globales sont généralement à éviter (cf. import this).
Pour un petit script en ligne de commande, ce n'est pas vraiment un
problème, mais si ton code se retrouve un jour appelé depuis une appli
plus volumineuse, tu peux rencontrer des conflits de nommage
et des
problèmes d'accès concurrents.
En pratique, on a quasiment jamais besoin
de variables globales.
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ?
Le script mis à jour est disponible ici:
http://download.bsdsx.fr/ftppurge.py
Le Mon, 02 Mar 2009 18:02:54 +0000, Alex écrivait:
- les constantes sont généralement écrites tout en majuscules, donc
pattern pourrait s'appeler PATTERN (ou quelque chose de plus significatif)
Corrigé, même si je garde PATTERN (rien de mieux me vient à l'esprit)
- les variables globales sont généralement à éviter (cf. import this).
Pour un petit script en ligne de commande, ce n'est pas vraiment un
problème, mais si ton code se retrouve un jour appelé depuis une appli
plus volumineuse, tu peux rencontrer des conflits de nommage
et des
problèmes d'accès concurrents.
En pratique, on a quasiment jamais besoin
de variables globales.
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ?
Le script mis à jour est disponible ici:
http://download.bsdsx.fr/ftppurge.py
Le Mon, 02 Mar 2009 18:02:54 +0000, Alex écrivait:- les constantes sont généralement écrites tout en majuscules, donc
pattern pourrait s'appeler PATTERN (ou quelque chose de plus significatif)
Corrigé, même si je garde PATTERN (rien de mieux me vient à l'esprit)
- les variables globales sont généralement à éviter (cf. import this).
Pour un petit script en ligne de commande, ce n'est pas vraiment un
problème, mais si ton code se retrouve un jour appelé depuis une appli
plus volumineuse, tu peux rencontrer des conflits de nommage
et des
problèmes d'accès concurrents.
En pratique, on a quasiment jamais besoin
de variables globales.
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ?
Le script mis à jour est disponible ici:
http://download.bsdsx.fr/ftppurge.py
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
Le script mis à jour est disponible ici:
http://download.bsdsx.fr/ftppurge.py
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
Le script mis à jour est disponible ici:
http://download.bsdsx.fr/ftppurge.py
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
Le script mis à jour est disponible ici:
http://download.bsdsx.fr/ftppurge.py
Freddy DISSAUX wrote:Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
En l'occurence, la ligne commençant par 'global' est-elle nécessaire ?
Ça ne marche pas avec juste des variables de module, c'est-à-dire
simplement avec les affectations que tu fais déjà en début de script ?
Freddy DISSAUX wrote:
Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
En l'occurence, la ligne commençant par 'global' est-elle nécessaire ?
Ça ne marche pas avec juste des variables de module, c'est-à-dire
simplement avec les affectations que tu fais déjà en début de script ?
Freddy DISSAUX wrote:Tout à fait d'accord pour les globales.
Je vais regarder un peu plus de code python mais comment dé-globaliser
(oh le vilain mot :) des variables comme debug, verbose ? A part en
rajoutant des paramètres aux fonctions mais je crains que cela
n'alourdisse de code. Mais je vais investiguer :)
En l'occurence, la ligne commençant par 'global' est-elle nécessaire ?
Ça ne marche pas avec juste des variables de module, c'est-à-dire
simplement avec les affectations que tu fais déjà en début de script ?
L'objet 'option' retourné par OptionParser.parse_arg permet déjà
d'éviter d'avoir à passer plusieurs variables distinctes. Donc une
solution simple est de passer ce seul objet aux fonctions concernées.
Quelques remarques encore:
2/ accessoirement, dans deux autres cas, tu reviens à la racine du
répertoire ftp, mais pas là. Est-ce cohérent ?
Ton option "debug" sert deux choses distinctes:
- dans le reste du code, elle est plus ou moins synonyme de 'verbose'
- à cette endroit précis, elle agit comme un dry-run
Il serait peut-être préférable de mieux distinguer ces deux rôles ?
Mes deux centimes...
L'objet 'option' retourné par OptionParser.parse_arg permet déjà
d'éviter d'avoir à passer plusieurs variables distinctes. Donc une
solution simple est de passer ce seul objet aux fonctions concernées.
Quelques remarques encore:
2/ accessoirement, dans deux autres cas, tu reviens à la racine du
répertoire ftp, mais pas là. Est-ce cohérent ?
Ton option "debug" sert deux choses distinctes:
- dans le reste du code, elle est plus ou moins synonyme de 'verbose'
- à cette endroit précis, elle agit comme un dry-run
Il serait peut-être préférable de mieux distinguer ces deux rôles ?
Mes deux centimes...
L'objet 'option' retourné par OptionParser.parse_arg permet déjà
d'éviter d'avoir à passer plusieurs variables distinctes. Donc une
solution simple est de passer ce seul objet aux fonctions concernées.
Quelques remarques encore:
2/ accessoirement, dans deux autres cas, tu reviens à la racine du
répertoire ftp, mais pas là. Est-ce cohérent ?
Ton option "debug" sert deux choses distinctes:
- dans le reste du code, elle est plus ou moins synonyme de 'verbose'
- à cette endroit précis, elle agit comme un dry-run
Il serait peut-être préférable de mieux distinguer ces deux rôles ?
Mes deux centimes...
Le Tue, 03 Mar 2009 12:33:49 +0100, Bruno écrivait:
Quelques remarques encore:
Chouette !
Mes deux centimes...
Avec grand plaisir (à moins de transformer ces centimes en bière*S* :)
Le Tue, 03 Mar 2009 12:33:49 +0100, Bruno écrivait:
Quelques remarques encore:
Chouette !
Mes deux centimes...
Avec grand plaisir (à moins de transformer ces centimes en bière*S* :)
Le Tue, 03 Mar 2009 12:33:49 +0100, Bruno écrivait:
Quelques remarques encore:
Chouette !
Mes deux centimes...
Avec grand plaisir (à moins de transformer ces centimes en bière*S* :)
Puisque tu aimes ça, j'en ai encore une paire. Mais bon, là c'est
vraiment histoire de conserver ma réputation d'insupportable chieur
pédant et tout !-)
0/ opérations sur les dates:
Tu devrais peut-être jeter un oeil sur le module datetime ?
1/ sur le nommage:
"filesname" => "filenames"
"day_file" => "file_day"
"date_file" => "file_date"
"options.file_test" => "options.filename_test" ?
Accessoirement (mais là c'est personnel), raccourcir "ftp_handle" en
"ftp" tout court - je pense que dans le contexte, c'est suffisant pour
qu'on comprenne.
2/ indentation:
Bien que ce soit "légalement" correct, la forme
if condition: expression
est considérée comme une mauvais pratique.
3/ factorisation:
Ton code est parsemé de "if verbose: print >> sys.stderr, message". Il
serait plus simple de factoriser ce pattern dans une fermeture
positionnée en attribut de l'objet options. Quoi ? C'est pas clair ?
Bon, ok, je te le refais en Python:
Si tu passes sur Bordeaux, sans problème !-)
Puisque tu aimes ça, j'en ai encore une paire. Mais bon, là c'est
vraiment histoire de conserver ma réputation d'insupportable chieur
pédant et tout !-)
0/ opérations sur les dates:
Tu devrais peut-être jeter un oeil sur le module datetime ?
1/ sur le nommage:
"filesname" => "filenames"
"day_file" => "file_day"
"date_file" => "file_date"
"options.file_test" => "options.filename_test" ?
Accessoirement (mais là c'est personnel), raccourcir "ftp_handle" en
"ftp" tout court - je pense que dans le contexte, c'est suffisant pour
qu'on comprenne.
2/ indentation:
Bien que ce soit "légalement" correct, la forme
if condition: expression
est considérée comme une mauvais pratique.
3/ factorisation:
Ton code est parsemé de "if verbose: print >> sys.stderr, message". Il
serait plus simple de factoriser ce pattern dans une fermeture
positionnée en attribut de l'objet options. Quoi ? C'est pas clair ?
Bon, ok, je te le refais en Python:
Si tu passes sur Bordeaux, sans problème !-)
Puisque tu aimes ça, j'en ai encore une paire. Mais bon, là c'est
vraiment histoire de conserver ma réputation d'insupportable chieur
pédant et tout !-)
0/ opérations sur les dates:
Tu devrais peut-être jeter un oeil sur le module datetime ?
1/ sur le nommage:
"filesname" => "filenames"
"day_file" => "file_day"
"date_file" => "file_date"
"options.file_test" => "options.filename_test" ?
Accessoirement (mais là c'est personnel), raccourcir "ftp_handle" en
"ftp" tout court - je pense que dans le contexte, c'est suffisant pour
qu'on comprenne.
2/ indentation:
Bien que ce soit "légalement" correct, la forme
if condition: expression
est considérée comme une mauvais pratique.
3/ factorisation:
Ton code est parsemé de "if verbose: print >> sys.stderr, message". Il
serait plus simple de factoriser ce pattern dans une fermeture
positionnée en attribut de l'objet options. Quoi ? C'est pas clair ?
Bon, ok, je te le refais en Python:
Si tu passes sur Bordeaux, sans problème !-)