2008-09-26 6 views
2

J'ai plusieurs modules contenant des fonctions, des classes et des modèles que je garde dans un répertoire appelé (hah!) 'Réutiliser'. Je connais assez bien le contenu, donc trouver une classe particulière ou un morceau de code ne prend pas trop de temps, mais il augmente lentement en taille et j'ai besoin d'une méthode raisonnable pour les stocker pour une recherche facile.Réutilisables code/classe Repositories

Comment est-ce que je devrais faire ceci?


Une question connexe se trouvent ici: full text search for source code

+0

duplication possible de [Comment indexer et rendre disponible le code réutilisable?] (Http://stackoverflow.com/questions/237946/how-do-i-index-and-make-available-reusable-code) – kapa

+0

@ bažmegakapa: d'accord - Je ne ai même pas réalisé cela, a voté pour fermer. – slashmais

Répondre

0

This question couvre beaucoup le même terrain & Je vais fermer cette question en sa faveur.

+0

Veuillez marquer votre question comme un doublon au lieu d'ajouter le lien comme réponse. – kapa

3
  • Groupe les sources par zone d'utilisation (réseau, sécurité, traitement de texte, etc.); meilleur dans répertoires pour une navigation plus facile.
  • Le tag fonctionne en ajoutant les mots-clés dans la documentation source. Utilisez un système de balisage de commentaire approprié (comme javadoc) et créez une sorte de document indexable.
  • Recherche en utilisant une sorte de recherche de texte intégral (grep -r, google desktop) sur vos sources.
+0

J'utilise déjà une forme de groupement avec des préfixes aux noms de fichiers, et je les recherche plus ou moins comme vous le suggérez. Je ne les indexe pas (encore), mais l'idée de balisage semble plausible: une sorte de doc hyper-lié qui me permet d'ouvrir/parcourir les modules? – slashmais

+0

Cela dépend vraiment du langage que vous écrivez. Il y a Sandcastle pour C# pour créer des fichiers CHM, javadoc pour java crée un tas de HTML. La plupart des langues ont de tels systèmes de documentation. –

0

Vous pouvez diviser toutes les classes dans les répertoires.

Quelle langue est utilisée pour la question? Parce que .Net vous pourriez avoir une bibliothèque comme une DLL divisée avec un espace de noms.

0
  1. Regroupez les fonctions/classes/modèles en modules/répertoires par fonction. Imaginez que vous allez les libérer en tant que bibliothèques open-source; considérez comment vous voudriez que le code de quelqu'un d'autre soit organisé. Finalement, ce sera le code de quelqu'un d'autre: vous, il y a un an ou deux.
  2. Utilisez un système de documentation. Doxygen va générer un navigateur de code HTML pratique pour vous.
1

Habituellement, je regroupe mes fichiers en fonction de l'objectif général des fichiers.

Ex: réutilisation \ Database réutilisation \ Graphics réutilisation \ Math réutilisation \ Etc ...

Vous pouvez ensuite sous-groupe vos groupes

réutilisation \ Graphics \ 2D réutilisation \ Graphics \ 3D

HTH

1

dépend du système, mais le moment la quantité de réutilisable pouvait atteint un certain seuil, je tends pour essayer de convertir des morceaux logiques de celui-ci en "vraies" bibliothèques dans le même sens que vous utiliseriez de tierces parties (avec de la documentation etc.) et les mettre dans le chemin de bibliothèque respectif, afin qu'elles deviennent vraiment réutilisables. Si cela ne vous dérange pas de les céder sous licence OSS, vous pouvez même aller jusqu'à les mettre dans l'équivalent CPAN/PyPI/PEAR de l'environnement avec lequel vous travaillez. Cela ajoute encore plus de réutilisabilité.

Je suppose que l'essentiel est que vous regroupiez votre code dans de vraies bibliothèques. Ensuite, la partie de récupération devrait être beaucoup plus facile puisque la plupart du temps automatique.

+0

Je mets déjà des fonctionnalités réutilisables dans les bibliothèques: la chose avec ces modules fonction/classe/template est qu'ils ont besoin de petits réglages pour les préparer à l'utilisation. Il serait difficile, cause de complexité et de ballonnement, de généraliser pour toutes les utilisations possibles. – slashmais

0

Nous avons eu un débat là-dessus il y a quelque temps. Le classement standard de votre code est bon pour la lisibilité et l'organisation, mais quand vous voulez juste saisir des choses, l'autre façon est d'utiliser le marquage en quelque sorte (en ajoutant des balises aux noms de fichiers ou autres méta-données). Les balises fonctionnent bien à la place des dossiers, car vous pouvez déterrer des choses spécifiques ou générales rapidement, alors qu'avec les dossiers, vous devez creuser des arbres pour obtenir des choses spécifiques.

Étiquettes: O (n). Dossiers: O (n^2)

Peut-être. : P

0

Folderisation selon la langue (subdivisée en fonction), avec des balises, dans un répertoire VCS, avec une documentation extraite Doxygen/Perldoc/* Pod/*. Vous aurez une archive facilement rassemblable de modules réutilisables/documentation instantanément portable dans votre travail./

Questions connexes