Question

J'ai récemment rejoint un projet Perl et je dois commencer à être productif avec la base de code assez rapidement.Cependant, je trouve que je suis bloqué parce que je ne sais pas où je dois changer ou comment toutes les parties du code s'emboîtent.

Quels sont vos conseils et outils pour vous familiariser avec une base de code Perl avec laquelle vous n'avez aucune expérience?

(Remarque: je me rends compte qu'il existe déjà une question similaire . Je me demande s'il existe des stratégies spécifiques à Perl.)

Était-ce utile?

La solution

Premièrement, si les responsables précédents faisaient bien leur travail, vous devriez avoir une suite de tests complète et une documentation perldoc pour chaque module et script de la base de code. Si tel est le cas, lisez le perldoc et parcourez les tests. Le perldoc devrait vous donner un aperçu de ce que font les choses, et la suite de tests vous donnera des exemples du code utilisé dans le contexte.

Selon l'auteur, les commentaires internes peuvent être utiles pour comprendre l'intention du code, donc en parcourant la source réelle, je donne également des informations sur les algorithmes, les bogues et l'utilisation prévue.

Si vous n'en avez pas, procédez comme vous le feriez pour toute base de code mal entretenue: commencez petit, écrivez des programmes qui essaient d'utiliser le code, et utilisez Test :: More et autres pour commencer à les transformer en une suite de tests.

Dans le premier cas, vous pouvez trouver que c'est très simple, dans le second, très difficile. Le Perl Medic de Peter Scott peut être très utile pour vous aider à transformer une telle base de code en quelque chose utilisable et utile si vous êtes coincé avec le deuxième cas, et la recommandation de Mike Thomsen de La programmation Perl efficace est également une bonne solution.

Autres conseils

Je travaille sur Melody qui est écrit principalement en Perl.C'est une base de code assez volumineuse, et j'ai trouvé que le processus d'apprentissage de la base de code Melody est identique à n'importe quel système Java sur lequel j'ai travaillé.

Il s'agit simplement de travailler avec, de rechercher sur Google lorsque vous voyez un comportement que vous n'avez jamais vu auparavant et d'expérimenter.

Ce livre est une excellente référence pour apprendre Perl dans unchemin.Ce n'est pas très dense et cela vous en apprendra beaucoup sur le bon développement de Perl.

Outre la " question similaire ", http://perldoc.perl.org/ et un fichier test.pl vide est unbon point de départ!

J'aimerais voir une vraie réponse ici.La seule chose que j'ai est plus de questions (vous n'avez pas à fournir de réponses ici, posez-vous simplement):

Objectif

  1. Quel est le but du projet, que doit-il faire?
  2. Qui connaît le flux de travail?

Environnement

  1. Pouvez-vous configurer le projet dans un environnement de test propre?
  2. Utilise-t-il un système de gestion des versions?
  3. Où sont les points d'entrée (c'est-à-dire les fichiers exécutables)?
  4. S'appuie-t-il sur des programmes externes?
  5. Cela nécessite-t-il des modifications supplémentaires du système (c'est-à-dire des scripts cron)?

Code Perl

  1. Votre projet utilise-t-il des avertissements stricts partout?
  2. Quels modules CPAN sont utilisés?
  3. Y a-t-il des frameworks utilisés (Moose, Catalyst, probablement certains ORM, ...)?
  4. Y a-t-il des perldocs dans les modules du projet?
  5. Y a-t-il des tests (notamment t / *. t)?

Je commence généralement par travailler sur un simple rapport de bogue ou sur une fonctionnalité simple que je souhaite ajouter.Tout en travaillant sur le code, j'écris des commentaires pour le code et je les valide.Écrire des tests aide également.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top