IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Etes vous un artiste ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut Etes vous un artiste ?
    Pendant que vous écrivez un programme se pose un problème de résolution de coordonnées, qui ont un système métrique particulier, alors vous élaborer un algorithme dont vous etes l'auteur, tous fier de votre oeuvre vous implémenter maintes méthodes basé sur celui çi (créativité et éfficassité). Mais des jours après pendant que vous écrivez une ultime méthode qui se sert de l'algorithme vous découvrez pendant que vous vous documenter qu'il peut très bien etre remplacer par une seule ligne...

    Que feriez vous ?
    Remplacer pour un gain de performance ou etes vous un poète de l'informatique et laisser cet algorythme en place...

    Je vous pris de donner votre décision sous forme de votes et j'attends vos commentaires.

    Personnellement j'ai laisser mon algorithme car il est un peu plus rapide que la simple ligne devant le remplacer, étrange non ?

    La vitesse d'exécution est proportionnelle aux couches de code python a traverser.
    Et je pense que les programmeurs sont un peu des artistes car il y a beaucoup de façons d'écrire un programme et chacun son style.

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    En ce qui me concerne, et à part quand la vitesse est vraiment critique, je privilégie la lisibilité du code:

    - pour que dans 6 mois je puisse comprendre ce qu'il fait du 1er coup d'œil

    - pour que je puisse le transmettre à d'autres personnes qui le comprendront facilement.

    Dans l'industrie, les informaticiens "géniaux" qui font des codes tellement compacts que personne ne peut en assurer la suite du développement ou la maintenance sont des gens dangereux... J'ai vu des méchants plantages de ce genre qui peuvent nécessiter de redémarrer un développement de plusieurs mois à partir de zéro, et même de mettre l'entreprise elle-même en danger.

    Tyrtamos

  3. #3
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,
    Citation Envoyé par Luke spywoker Voir le message
    alors vous élaborer un algorithme dont vous etes l'auteur, tous fier de votre oeuvre vous implémenter maintes méthodes basé sur celui çi (créativité et éfficassité).
    Avant de me lancer dans la "créativité", je m'assure que ce que je veux faire n'a pas déjà été codé par quelqu'un d'autre, surtout en python, car pour un professionnel l'efficacité est plus importante que la créativité. En d'autres termes, Je préfère utiliser une roue qui a fait ses preuves que d'en réinventer une. Du coup, je garde ma créativité pour de vrais problèmes.

    A+

    Pfeuh

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par Luke spywoker Voir le message
    Mais des jours après pendant que vous écrivez une ultime méthode qui se sert de l'algorithme vous découvrez pendant que vous vous documenter qu'il peut très bien etre remplacer par une seule ligne...
    En général, je me documente avant de coder que ce soit dans les codes existants ou dans des revues scientifiques.
    Ce qui n'empêche pas de devoir faire des "brouillons" car la découverte du domaine et mieux poser le problème qu'on cherche à traiter passe aussi par là.

    Que feriez vous ?
    Remplacer pour un gain de performance ou etes vous un poète de l'informatique et laisser cet algorythme en place...
    Il y a plusieurs niveaux de "design". L'organisation du code, l'organisation des flux de traitements,... et puis le code qui fera le "boulot" aux extrémités.
    Si le remplacement ne touche pas aux interfaces, je mets au moins un "TODO" pour ne pas oublier qu'on peut faire éventuellement autrement.
    Si çà touche aux interfaces, il faut vraiment que çà vaille le coup et ce sera une idée à envisager pour une version "future".
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    Avant de me lancer dans la "créativité", je m'assure que ce que je veux faire n'a pas déjà été codé par quelqu'un d'autre, surtout en python, car pour un professionnel l'efficacité est plus importante que la créativité.
    Pour un débutant-intermédiare amateur créer un algorithme compliquer qui s'adapte a toutes les situations (n'importqu'elles coor|données en entrer) et configurations est en une belle oeuvre, qui peut etre réutiliser. En plus j'y ai beaucoup appris sur l'optimisation en python.

    Par ailleurs:
    En général, je me documente avant de coder que ce soit dans les codes existants ou dans des revues scientifiques.
    Je me documente aussi, mais je n'ai pas retenu la méthode qui remplacerai mon algorithme et c'est un oublie, il ya cas lire ma signature en bas des messages pour le remarquer.

    En ce qui me concerne, et à part quand la vitesse est vraiment critique, je privilégie la lisibilité du code:

    - pour que dans 6 mois je puisse comprendre ce qu'il fait du 1er coup d'œil

    - pour que je puisse le transmettre à d'autres personnes qui le comprendront facilement.
    La j'ai tort, je m'incline mais je n'ai pour l'instant pas eu l'occasion de reprendre un programme que j'ai arreter de coder...

    Je vois des portions de code bien coder et éfficasse comme une oeuvre d'art de l'esprit.

    Continuer a donner vos avis.

  6. #6
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bonjour,
    suivant les problématiques, je préfère faire certaines choses à la main même si des outils puissants existent, et d'autres, je fais appel à des bibliothèques existantes.

    Le plus importante est la lisibilité, à savoir un code donc les blocs d'instructions ne sont pas monstrueux, i.e. une fonction de 200 lignes par exemple, et des noms bien choisies, je hais par exemple le français dans mes noms d'objets (variables, fonctions, classes...).

    L'idéal est de trouver un code court et facile à reprendre, et il me reste encore de mauvaises pratiques pour le moment que je tends à faire disparaître petit à petit.

  7. #7
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Personnellement, je n'hésite jamais à balancer un code que j'ai écrit, même si j'en suis particulièrement fier, si

    1. Je trouve mieux, ou
    2. Je trouve mieux ailleurs.

    Pour se rappeler les bons souvenirs, il y a l'historique Subversion/Git/etc.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  8. #8
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    En ce qui me concerne, je préfère un algorithme bien construit à une méthode « brute-force ».

    Si la solution simple est aussi efficace que la complexe, pourquoi torturer ses lecteurs et soi-même ? Gardons la solution simple.
    Si la solution simple gaspille des ressources, je choisis la plus évoluée. Les commentaires sont faits pour ce genre de cas, après tout...


    Pour le côté poétique, eh bien je trouve qu'on atteint les sommets lorsque le code est évident et efficace à la fois Ça passe souvent par des structures de données bien choisies et des abstractions bien conçues.

Discussions similaires

  1. [défi n°2] "Etes-vous String?"
    Par javatwister dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 20/08/2005, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo