34 votes

Les concepteurs et les développeurs travaillent ensemble

La riche présentation des fonctionnalités de WPF et Silverlight dire les développeurs comme moi vont travailler en étroite collaboration avec des designers graphiques plus souvent ces jours-ci, comme c'est le cas dans mon prochain projet.

Est-ce quelqu'un là-bas ont des conseils et de l'expérience (à partir de deux points de vue) sur la fabrication de cet aller plus en douceur?

Par exemple, quand j'ai mentionné la source de contrôle à un designer récemment, j'ai été vite dit, vous ne pouvez pas le contrôle à la source des graphiques, des images etc, de sorte que c'est une perte de temps. Alors j'ai répondu: ok, mais, qu'en est fichiers XAML WPF/Silverlight?

Scott, Hanselman a parlé de ce sujet dans un podcast, mais il se concentre plus sur les outils, alors que je suis plus intéressé par les problèmes de communication/aspects.

23voto

Jonas Follesø Points 3650

Une des choses que j'ai découvert, c'est que la façon dont vous en tant que développeur de la conception de votre code affecte grandement de ce que le concepteur peut faire avec elle. Souvent vous de télécharger Silverlight ou WPF exemple d'application à partir du web et de l'ouvrir dans le Mélange, juste pour avoir de Mélange de crash sur vous parce que le code ne fonctionne pas bien à l'intérieur de la designer. Si il ne plante pas, il est rare que l'air de rien comme l'application en cours d'exécution.

J'ai récemment donné une conférence à Tech Ed l'Australie et la Nouvelle-Zélande au sujet de techniques que vous pouvez appliquer à la "conception pour le programme designability". Une courte montée liste est inclus:

  1. Écrire du code qui peut prendre avantage de la liaison de données. Le Modèle-Vue-Vuemodèle ou le modèle de présentation est un bon ajustement pour cela.

  2. Tension "moment de la conception" stubs pour vos dépendances de service. Si la classe que vous contraignant à l'encontre de fait des appels de service web assurez-vous de remplacer le client de service web avec un talon de classe qui renvoie "données factices" que le concepteur consomme à l'intérieur de mélange. Cela peut facilement être fait par le biais du Cio et de l'Injection de Dépendance, l'injection d'une mise en œuvre si HtmlPage.IsEnabled == false.

  3. En utilisant la liaison de données, vous pouvez limiter le nombre de "éléments nommés" vous avez dans votre fichier XAML. Si vous écrivez beaucoup de code derrière, en fin de couplage votre code C# contre les éléments nommés comme txtName ou txtadresse, le rendant facile pour le concepteur de "bousiller".

  4. L'utilisation d'un modèle de commande au lieu de code derrière cliquez sur gestionnaires d'événements. Peu de couple à l'invocateur d'un événement à partir du gestionnaire vous pouvez avoir moins d'éléments nommés, et vous donner le concepteur de la liberté de choisir entre un Bouton ou un Élément de Menu pour appeler une commande spécifique.

  5. Tester votre code dans le Mélange! Même si vous vous considérez votre auto un pur développeur, vous devriez vérifier que votre code est consommable par un outil, et de s'efforcer d'obtenir une meilleure expérience possible au moment de la conception. Certains diront que l'outil ne devrait pas l'effet de votre logiciel de conception, tout comme certains se plaint de "conception pour la testabilité", et le logiciel de prise de décisions en matière de conception, juste pour rendre le code plus testable. Je pense que c'est une chose intelligente à faire, et la seule façon que vous pouvez obtenir une véritable concepteur-développeur de flux de travail va.

D'autres conseils serait de commencer petit. Si votre concepteur est de nouveau à XAML, WPF et Silverlight, commencez par introduire à l'équipe de projet, et de faire quelques dessins de base dans les outils qu'ils connaissent. Laissez-les faire des boutons et des illustrations dans Illustrator, et de les exporter vers XAML, et de leur montrer comment vous pouvez tirer parti de leurs actifs de conception directement. Continuer en introduisant de plus en plus, et j'espère qu'ils s'intéressent et veulent passer à l'Assemblage. Il est tout à fait une courbe d'apprentissage, mais il en vaut la peine!

Bonne chance!

PS: j'ai écrit attribuer au sujet des motifs et de faire de concepteur amical code sur mon blog à l' http://jonas.follesoe.no. Vous pouvez également trouver des liens vers une vidéo de l'enregistrement de mon Tech Ed parler, ainsi que de nombreux liens vers d'autres lectures sur le sujet.

14voto

David McLaughlin Points 3447

J'ai passé 4 mois sur un projet de travail extrêmement étroite collaboration avec un designer et il n'a toujours pas repris l'idée de base de CVS (ce qui n'est pas mon choix de système de contrôle de source). Je parle des fichiers de modèle, JavaScript et CSS ici. Il n'est pas stupide, c'est juste une de ces choses qui rend sa tâche plus difficile, de sorte qu'il résiste à pleinement s'engager lui-même.

Dans mon cas, j'ai eu vraiment le marteau de la maison le point que presque tous mes JavaScript dépendait de la marque et quand il a changé son pur CSS, DIV-mise en fonction dans une table de base de celui sans me le dire alors tout mon JS est d'aller à la pause.

Souvent au cours de mon projet et le concepteur, qui je vais très bien et jouer au football avec l'extérieur du travail, avait très des échanges houleux à propos de nos responsabilités respectives. Si je ne le connaissais pas assez bien pour juste obtenir au-delà de ces échanges, puis je pense qu'il aurait créé une insupportable de l'environnement de travail. Donc, je pense qu'il est important que vous établissez entre vous deux et avec une sorte de gestionnaire ou de superviseur de projet exactement ce qui est attendu des deux parties pendant le projet.

Dans mon cas, il y a eu très peu de problèmes ces derniers temps, en raison de la situation avec le CVS a été réglé ainsi que l'idée qu'il ne peut pas juste aller et changer le mark-up à chaque fois qu'il se sent comme il. Plutôt que de chercher à créer des fichiers de modèle et de travailler sur eux directement, le concepteur ne fonctionne que sur les fichiers statiques et sa ma responsabilité de les brancher dans mes fichiers de modèle.

Il est tout au sujet de la communication et un peu de compromis sur les deux côtés.

10voto

hasseg Points 5440

Cela peut être un peu hors sujet (je suis de répondre spécifiquement à votre question sur contrôle de code source et graphique), mais vous pouvez mettre des données binaires (images, etc.) dans le contrôle de source (et à mon avis, dans beaucoup de cas devrait) -- ils prennent plus d'espace disque et vous ne pouvez pas utiliser un comparateur de vue pour analyser ce qui a changé de manière significative, mais ce que vous faites est une histoire de messages de validation de documenter chaque révision, la restauration de la capacité et de la capacité d'archiver facilement (marquage une révision SVN conditions) tous les fichiers (qu'ils soient actifs visuels, de la documentation, le code source, peu importe) appartenant à une version spécifique/version de concert. Il est aussi plus facile pour votre système de construction pour extraire seulement tout ce qui est nécessaire pour la construction d'une version spécifique de votre logiciel à partir du contrôle de code source.

6voto

Ed Guiness Points 21866

Impliquez le graphiste dans les premières sessions de design et d'architecture.

Vous voulez les impliquer pour révéler des hypothèses mal alignées et établir un modèle de collaboration plutôt que de jeter des objets par-dessus le mur.

6voto

AndyL Points 1046

À l'origine, il était prévu que les concepteurs professionnels serait de travailler dans Expression Blend, et les développeurs de travailler dans Visual Studio, apporter des modifications à une seule et même ensemble de fichiers source. S'il est certainement possible de le faire (tant que vous êtes prudent de vérifier régulièrement que vous n'avez pas cassé quelque chose d'attendu par les autres dev. ou de l'outil de conception), de nombreux membres de la communauté des développeurs, dont certains à l'intérieur de Microsoft, ont découvert les avantages en gardant Blend et Visual Studio activité de projet SÉPARÉ-même au point manuelle de la couper et coller soigneusement remaniée versions de Mélange généré Xaml dans le "officielle" VStudio source du projet, plutôt que de permettre aux concepteurs et aux développeurs d'exploiter directement sur une seule et même base de code. De Microsoft de l'Expérience Utilisateur de l'Équipe dans le royaume-UNI a publié une vidéo décrivant les problèmes qu'ils couraient en essayant de coordonner les designer et développeur efforts sur des projets réels.

Real_World_WPF_DesignersAndDevelopersworkingtogether

L'un des principaux enseignements est que vous ne pouvez pas le personnel d'un projet avec des designers et des développeurs qui sont complètement ignorants des uns et des autres domaines. Les développeurs doivent être suffisamment familiarisé avec le Mélange qu'ils peuvent fournir aux concepteurs utile de l'INTERFACE utilisateur coquilles pour le concepteur de décorer, et les données utiles "stubs" le concepteur peut créer de l'interactivité contre, et le concepteur doit avoir assez de compréhension des problèmes de développement qu'ils ne font pas de choses telles que la suppression des contrôles et de les remplacer avec des personnalisés des éléments visuels, ne réalisant pas qu'ils ont cassé toutes les fonctionnalités liées au contrôle d'origine.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X