J'ai un script php qui génère des classes wrappers php et javascript qui gèrent json marshalling en fonction d'un fichier de configuration.Dois-je utiliser un ou plusieurs fichiers de configuration pour la génération de code?
Mon plan initial était d'avoir un seul fichier de configuration qui génère toutes les classes utilisées par l'application. Cependant, mon chef d'équipe a suggéré que j'utilise un fichier séparé pour chaque fonctionnalité, pour éviter de créer un fichier de configuration gigantesque, et créer un répertoire qui définit les objets partagés par plusieurs entités
Je l'ai comparé à struts-config.xml où toutes les définitions sont dans un fichier. Un autre exemple est un dictionnaire de données utilisé pour générer des classes d'accès DB et le SQL pour générer ces tables; dans les travaux précédents, il y avait toujours un seul fichier qui définissait toutes les tables db, donc je n'y ai même pas beaucoup réfléchi puisque c'est ce à quoi j'étais habitué. Il l'a comparé à idl (c'est un peu comme idl), et nous ne conservons pas toutes les définitions d'idl en un seul endroit. Donc, je voudrais des arguments pour et contre l'utilisation d'un seul fichier. Voici quelques-unes:
fichier unique
Bonne
- Vous pouvez voir tous les objets JSON en un seul endroit (ce qui est le cœur de notre API Web et il est utilisé pour la documentation du serveur Ajax appelle)
- Vous avez seulement besoin d'un seul makefile (ou cible ant)
Bad
- fichier peut être difficile de modifier une fois qu'il est trop grand
plusieurs fichiers
- Bonne
- JSON utilisé uniquement pour une seule fonction n'est pas exposé (privé à un projet)
- Bad
- Une fois qu'un objet JSON est utilisé par deux caractéristiques, il doit être déplacé vers un autre fichier
Tous les commentaires est apprécié et s'il vous plaît me demander de préciser si vous voulez carillon mais ne sont pas tout à fait sûr de ce dont je parle.
En réponse aux commentaires (le vôtre et au sein de mon entreprise), je n'utilise pas un seul fichier. Cependant, je crée un dossier séparé pour contenir toutes les définitions json, dans ce dossier, il y a un dossier pour les définitions communes, et des dossiers pour chaque définition spécifique au projet. Cependant, cela duplique la structure du répertoire (dossiers spécifiques au projet) à partir d'autres emplacements (comme dans les contrôleurs d'allumeurs de code et les dossiers de modèles). Alors ... Pangaea, s'il vous plaît fournir des commentaires si vous en avez. –