9
votes

Cherche une véritable "chaîne d'outils"

Je viens de poster cela dans le cadre d'une réponse à une question sur le "meilleur" logiciel de suivi de bogues ...


Eh bien, un outil seul est juste un outil. Et tout en parlant d'une boîte à outils, la plupart veulent dire une collection d'outils lâches. Pourquoi ne pas rechercher un suivi problématique qui "joue bien avec d'autres enfants"? C'est-à-dire que vous interface bien avec votre IDE, votre outil de construction, votre système de contrôle de version ...

En fait, je pense que je vais y aller maintenant et poser une question sur la meilleure compagnie d'outils lié ...


Alors, des commentaires? Je préférerais des réponses pour développer C / C ++ sur Linux et utiliser Foss (mais ne laissez pas cela empêcher de poster des réponses Windows si vous pensez que cela aiderait quelqu'un d'autre). Nous n'avons pas besoin d'une chaîne complète, mais peut-être que quelques groupes d'outils liés sont encore meilleurs que les "liens" totalement séparés dans la chaîne)

J'utilise

  • Eclipse - pour le codage et le débogage, également ses plug-ins pour
    • DOXYGEN pour code auto-documentation
    • Splint et CPPCheck pour analyse de code statique
    • CPPUnit pour les tests automatisés
    • BugZilla, et tout pour le suivi de l'insecte
    • CVS, Subversion, etc., pour la version de la version
    • Hudson - Pour les constructions automatisées, avec des plug-ins pour
      • DOXYGEN pour code auto-documentation
      • CPPCheck pour analyse de code statique
      • CPPUnit pour les tests automatisés
      • BugZilla, et tout pour le suivi de l'insecte
      • CVS, Subversion, etc., pour la version de la version

        Il semble manquer à un outil de gestion de projet qui interface avec d'autres "liens" dans la boîte à outils. Dans quelle mesure pouvons-nous le faire, finir à la fin et y a-t-il une "meilleure" chaîne (ou, au moins, un avec le plus de liens)?

        Edit: N'oublions pas les exigences de suivi et de planification et de suivi des projets - Fin Modifier

        et que quelqu'un a tous schéma la relation entre divers outils (c'est-à-dire que les interfaces auxquelles et dans quelle direction peuvent exporter dans le format d'importation d'un autre, etc.)?

c++

4 commentaires

Tout d'abord ;-) Hmmm, quoi d'autre compte comme un "outil"? Peut-être que si elle interface bien avec un wiki?


Si vous demandez aux gens de contribuer à la chaîne, cela doit être un wiki communautaire


Vous voudrez peut-être ajouter une sorte d'analyse statique pour la sécurité pour étouffer certains problèmes de sécurité dans le bourgeon, par exemple. Vagabonder.


Neil, pouvez-vous s'il vous plaît le déplacer à la communauté wiki, alors? Merci


3 Réponses :


9
votes

g'day,

Dans mon expérience, j'ai trouvé que tenter de trouver une chaîne d'outils "définitive" peut causer des problèmes.

L'un des pires est qu'il a tendance à forcer les gens dans le "tout ressemble à une approche d'un clou" des projets. C'est-à-dire que vous avez fait le travail pour sélectionner les outils que vous jugez appropriés et que vous avez maintenant votre suite d'outils.

Dans mon expérience, il est très difficile d'amener les gens à changer leur "ensemble canonique" d'outils pour d'autres projets une fois que cet ensemble d'outil a été sélectionné et annoncé comme tel.

Je fais cela depuis plus de vingt ans dans une variété de projets allant des simulateurs de Sonar sous-marins embarqués aux systèmes d'affichage de contrôle de la circulation aérienne aux systèmes de contrôle des hélicoptères. Même dans la même entreprise, différents projets ont besoin de différents ensembles d'outils pour résoudre les divers problèmes qui vont être rencontrés.

Vous pouvez penser qu'une fois que vous avez sélectionné un outil pour un but particulier, vous pouvez réutiliser cet outil pour tous les projets, par exemple. Votre sélection de BugZilla pour le suivi des bogues. Mais si il n'y a pas de serveur SMTP approprié disponible, car vous avez une équipe distribuée et que votre serveur de messagerie est interne, verrouillé, sécurisé, par exemple.

Je suggérerais qu'il serait préférable d'établir une suite d'outils possibles à partir de laquelle vous pouvez sélectionner la suite d'outils de votre projet. Par exemple, ajout de Trac ou Fogbuzz en tant que mécanisme de suivi de bugs possible.

Beaucoup de choses peuvent affecter votre choix d'outils. En haut de ma tête, j'ai:

  • Répartition géographique des équipes,
  • Verrouillage interne vers le bas, c'est-à-dire aucun accès public, de serveurs par ex. Email, référentiel source, plate-forme de test, etc.,
  • Devoir l'interface avec un système existant en raison d'un désir de réutiliser des aspects de ce système, par ex. Les équipes précédentes avaient eu VisuelleSourcesafe infligée sur eux,
  • Insistance du client sur l'utilisation d'une plate-forme particulière,
  • L'équipe de gestion d'un nouveau projet ayant des exigences différentes de l'équipe de direction précédente pour les rapports de type de gestion réguliers,
  • etc.

    avoir une suite de possibilités minimise l'effet de "essayer de presser une cheville carrée dans un trou rond".

    Quoi qu'il en soit, vous constaterez peut-être que vous êtes capable de réduire votre suite de possibilités après un moment, car vous pouvez démontrer une approche réussie et obtenir suffisamment de traction au sein de la société pour le soutien de faire des choses comme vous les a faites.

    htth


1 commentaires

Bonne réponse, et je suis d'accord. Dans mon cas, c'est une start-up, je peux donc faire appel à une boîte à outils (Mwuuuhahahahaha !!!!) mais je conviens que différents outils différents peuvent être meilleurs pour différents projets. J'aime toujours l'idée d'une "chaîne", où les outils se sont réellement interfaces. Peut-être que j'ai besoin d'établir une matrice de relations (et d'autoriser le libre choix, par projet, comme un menu de restaurant)? J'ai aussi oublié les exigences, autre chose? Étrange, j'avais attendu beaucoup plus de réponses à cela ....



1
votes

Je pense que le

Par "Gestion de projet" Je ne sais pas si vous voulez dire quelque chose comme faire ou quelque chose à garder une trace des progrès de votre équipe. Si vous voulez dire quelque chose comme faire, le monde unix aime cruellement besoin d'une marque réutilisable qui prend en charge la "recompilation intelligente" et fonctionnera avec plusieurs compilateurs. La chose la plus proche est NMake , mais ce n'est pas très proche.

En ce qui concerne intégrer les outils d'outils plus généralement,

  • Le meilleur ensemble d'outils que j'ai constatés est le Technologie de logiciel avancée < / a> outils construits à AT & T. Il y a un livre le plus excellent Logiciel Unix réutilisable pratique < / em> , libre de télécharger, qui décrit l'état de jeu circa 1995. Depuis lors, l'outilsset n'a alors mieux compris, mais pour avoir une vue d'ensemble de ce qui se passe, vous avez vraiment besoin du livre. . Ces gars ont commencé avec le groupe UNIX à Bell Labs et ce qu'ils ont créé n'est pas tant une boîte à outils mais un mode de vie. Joe Bob dit vérifier.

  • L'autre élément omniprésent de nombreuses cuillères à outils UNIX est (et cela est susceptible de vous faire rire ou vomir) EMACS . Bien que Emacs Lisp ne soit pas le moyen préféré de personne d'écrire des plug-ins ou des extensions, une accumulation pure au fil du temps a rendu Emacs dans un environnement de programmation très riche et qui parle à toutes sortes d'autres outils. Je suis dans la simplicité, pas la complexité, alors j'essaie de garder à l'eau superficielle, mais si vous êtes sérieux pour enquêter sur les cuillères à outils pour UNIX, c'est quelque chose à savoir.

    Je suis impatient de voir plus de réponses à votre question.


2 commentaires

"Je pense que la philosophie UNIX milite contre ce type de cuillères à outils bien intégrées. Ce n'est pas un accident que Eclipse, la première chose que vous mentionner, venait du monde de Java. Unix (et par extension, Linux) a tendance à croire moins dans les choses appelées" plugins "Et plus dans des ensembles d'outils qui partagent des données stockées dans des fichiers texte plat." Je comprends et d'accord, Norman, mais Unix / Linux Cli Gurus aime bien ce tuyau, tu n'as pas hé? Je pense à quelque chose de même que les outils exportent dans le format de fichier d'un autre ou invoquent l'autre outil ou en quelque sorte couple. J'aime CLI, mais je ne peux pas éviter les outils d'interface graphique de soem ..


J'aime les emacs (ou habitués à ...). Par la gestion de projet, je veux dire la planification du projet (TaskJuggler, et al) mais également le suivi du projet, ce qui branche un problème de suivi dans le PM S / W ... Je cherche un réseau d'interopérabilité (comme il est plus facilement disponible avec CLI et fichiers de données de texte plat)



0
votes

Eh bien, ce n'est pas FOSS, mais Rational fournit une chaîne d'outils complète (à l'exception des compilateurs!),

Vous obtenez des IDes, des diagrammes de classe, des cas d'utilisation, un suivi des exigences, des outils de test, des outils de journalisation des problèmes qui intègrent bien tous quelques milliers (ou centaines de dollars).

Aucun (TAVT des outils de modélisation) est le meilleur de la race, mais ils sont tous très bons et intègrent bien les uns avec les autres.

Disclaimer: - Mon "outil d'outil" de choix est Vim, make, DDD, Gmail et un cahier Moleskin pour la modélisation.


4 commentaires

Pas si sûr de vouloir une source unique, et je ne veux pas non-Foss, mais merci de le pointer.


Et merci de me rappeler des exigences suivantes.


Vous plaisantez sur le cahier Moleskine?


Ne vous inquiétez pas "Moleskin" est un nom de marque!