8
votes

Expériences de programmation

Je code fréquemment de nombreuses expériences pour tester divers algorithmes, bibliothèques ou matériels. Tous les codes, les dépendances et la production de ces expériences doivent être annotés et enregistrés afin que je puisse y retourner plus tard. Existe-t-il de bonnes approches communes de ce problème? Que faites-vous avec vos expériences après les exécuter?


8 commentaires

stockez-les dans un système de contrôle de version?


J'aime git pour ce genre de choses. Toute l'histoire avec vous tout le temps, facile à sauvegarder.


Cependant, j'ai utilisé Subversion avant (dans l'un des messages ci-dessous) cependant, si vous pouvez essayer d'utiliser son git beaucoup mieux. (Je dois encore l'utiliser, mais je veux bientôt)


Ceci n'est qu'un petit pas loin de dire "les stocker dans un système de fichiers" - très vague.


Si vous n'avez jamais utilisé Git, comment savez-vous que c'est mieux? Je ne peux pas croire que le Fanboy Ardor qu'un système de contrôle de la version semble inspirer chez certaines personnes.


@Neil: Je n'appellerais pas ce fanboy ardor, mais juste l'orthone perroré


Je les piège à l'intérieur d'une boîte d'argent avec une bande jaune et noire, que je peux me placer avec soin à l'intérieur d'un grand coffre-fort, que j'ai fabriqué une boîte d'entrée spéciale dans, en quelque sorte comme une boîte aux lettres. Après avoir laissé tomber les expériences à l'intérieur, j'appuie sur un bouton pour les détruire immédiatement.


S'ils ne sont pas dans la version de la version quelque part, vous faites quelque chose de mal. Période.


5 Réponses :


3
votes

2
votes

J'ai juste un dossier que j'appelle OneOffcode

Ceci est un dossier du code JUST que j'ai écrit soit apprendre une nouvelle technologie qui tente de prouver un concept, etc. . Ceci est un code de non-production.

Je monte habituellement à un saut d'entrée et déplacez-le avec moi du travail au travail, ou un ordinateur à l'ordinateur.


2 commentaires

Un peu wordy. Je viens d'appeler le mien "test".


J'appelle mes tests "Test" - Des expériences et des tests ne sont pas la même chose.



5
votes

Lorsque je les fais, ils sont généralement spécifiques au projet, ils vont donc dans un sous-répertoire du projet (généralement appelé "enquêtes" dans mon cas). Ceci est enregistré dans le système de contrôle de la version avec tout le reste.

résultats (le cas échéant) entrent dans le même sous-répertoire des "enquêtes" comme le code utilisé pour produire les résultats.


3 commentaires

@ S.Lott: "Spikes": J'aime ça!


C'est aussi ce que je fais. À l'exception de la branche d'expérimentation et de sauvegarde beaucoup plus que le code de production, ce qui tend à conduire à un gâchis dans le système de contrôle de la version. La recherche et la recherche de versions précédentes de SVN est assez gênante.


@Don: Heureusement, ce n'est pas trop mauvais à Bazaar (une des raisons pour lesquelles j'ai changé mon référentiel de Subversion à Bazaar).



2
votes

Je passe habituellement entre C # et C ++. Donc, j'ai une application de console de test pour C # et C ++ dans un emplacement "Sandbox" sous contrôle source. Les applications de la console sont à la fois configurées de la même manière là où il y a une principale qui appelle le test que j'essaie à ce moment-là. Lorsque j'ai terminé, je garde les anciennes méthodes et commentaires et effacez simplement le principal lorsque le prochain test vient.

Je ne sais pas si c'est le meilleur, mais après sa configuration, il est assez rapide d'entrer, d'obtenir les réponses, de sortir et de tout sauvegarder pour la prochaine fois.


0 commentaires

5
votes

Dans un travail préalable, nous avons eu un projet dans SVN appelé Zone51 où les gens écriraient du code de test. Les règles étaient

  1. Créer un espace de noms de paquet
  2. Commencez par un vide public statique principal
  3. Ajouter des commentaires via Javadocs
  4. quitte le projet dans un état compilable
  5. Le projet ne peut jamais être une dépendance d'un autre code

    sur une équipe de trois personnes, cela a fonctionné OK. Nous pourrions mettre "quoi si" le code est-il possible de partager et il était facile de l'exécuter via l'IDE ou la ligne de commande


0 commentaires