Aujourd'hui, un de mes collègues et moi avons un débat sur "Faut-il mettre les documents de spécification dans un système de contrôle de source tel que SVN?". À mon avis, ça devrait l'être. Tout ce qui concerne le développement du projet doit être soigneusement contrôlé avec le système de contrôle des sources. Est-ce un mauvais concept dans le processus de développement logiciel?
version-control
specifications
Edison Chuang
la source
la source
Avec un espace sur le disque dur à quelques centimes par gigaoctet par mois, il n'y a aucune bonne raison de ne pas mettre de documents dans le système de contrôle des sources, et cela sera probablement utile. Ma préférence personnelle est d'écrire des documents en utilisant le balisage en ligne, par exemple le balisage Wiki ou DocBook . Cela permet d'utiliser des outils puissants pour la comparaison et la révision de documents.
la source
La versionnage des documents de spécification est certainement un objectif valable.
Cependant, vos documents de spécification sont -ils uniquement en texte et dans un fichier texte brut ? Si c'est le cas, cela peut être une bonne solution.
Sinon, le contrôle des sources n'est probablement pas le bon endroit pour eux - le contrôle des sources est mauvais pour les fichiers binaires .
Habituellement, les fichiers en texte brut ne sont ni aussi bons pour le formatage ni pour une visualisation rapide, donc un wiki avec versioning est probablement une meilleure idée.
la source
Tous les documents doivent être sous une forme d'archive (de préférence avec des contrôles de révision).
Les systèmes de contrôle des sources sont une solution. Mais généralement, ces systèmes sont conçus pour les documents en texte brut. Ainsi, des choses comme les documents Word ou RTF, etc. ne correspondent pas si bien (surtout lorsque vous essayez de comparer des versions différentes).
Mais il existe d'autres solutions spécialement conçues pour les documents. SharePoint me vient à l'esprit, mais je suis sûr qu'il y en a d'autres.
la source
Absolument. Le problème que les documents sont stockés sous forme de fichiers binaires (par exemple des documents Word) est ennuyeux. Une bonne solution de contournement est que si vous utilisez l'un des outils Tortoise (j'ai essayé SVN et Mercurial), vous pouvez choisir "Visual Diff" qui vous permet de choisir docdiff. Avec docdiff, vous pouvez voir tous les changements avec les couleurs et les trucs :-). Le principal inconvénient est que chaque fois que vous apportez une modification, le document entier est à nouveau validé (pas seulement la modification). Mais étant donné que les documents texte ne sont normalement pas énormes et que l'espace n'est probablement pas votre problème principal, ce n'est pas un problème.
Je suis sûr que vous pouvez utiliser docdiff sans Tortoise, c'est juste que je ne l'ai pas essayé.
la source
Il existe une approche alternative dont vous devriez discuter: BDD
Veuillez considérer le développement basé sur le comportement avec des spécifications exécutables. Vos spécifications sont simplifiées en une série d'énoncés donnés - quand - alors d'instructions qui sont stockés dans des fichiers texte. Un outil BDD tel que Cucumber ou SpecFlow convertit ces fichiers texte en tests exécutables, que votre outil de génération peut exécuter.
Concombre: http://cukes.info/ - BDD pour Ruby
SpecFlow: http://www.specflow.org/ - BDD pour .Net
Pour une démonstration rapide du flux de travail avec un outil comme SpecFlow, consultez la procédure pas à pas SpecFlow de Rob Conery: http://tekpub.com/view/concepts/5
Maintenant, non seulement vous versionnez votre code, mais vos spécifications et votre outil d'intégration continue (pensez à TeamCity, CruiseControl, Hudson, etc.) font en sorte que toutes les spécifications soient toujours valides sur CHAQUE build ... Est-ce que cela est précieux pour vous?
la source