2010-10-30 19 views
0

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.

Répondre

0

liées au groupe Pour conserver la configuration séparée du code, j'ai créé un dossier en dehors du dossier web (htdocs) contenant les fichiers de configuration, et ils imitent la structure de dossiers dans htdocs. Les fichiers compilés à partir des fichiers de configuration sont ensuite déplacés à l'endroit où ils vont être utilisés. Donc je pense que j'ai rendu tout le monde heureux. Tous les fichiers de configuration se trouvent dans un dossier distinct mais ils sont toujours organisés par fonctionnalités. Il est donc cohérent que tous les fichiers de configuration soient au même endroit, tout en regroupant chacun des fichiers de configuration par fonctionnalité. Désolé pour une question déroutante ...

0

Programmation ou non Je pense que les principes ci-dessous sont de bonnes suggestions.Donc, appliquer ces deux à votre situation et vous vous répondre ;-)

responsabilité unique Principe cohésivité: choses ensemble

+0

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. –