28 votes

Comment améliorer ma conception de l'architecture des compétences

Quelles sont les bonnes façons je peux améliorer mon système de conception de l'architecture des compétences?

Je suis particulièrement intéressé par les dessins que je peux apprendre de... quelqu'un peut tirer des exemples de bonne pratique en matière de conception, les leçons apprises, des choses à me guider?

17voto

theycallmemorty Points 4609

Vous pouvez toujours entrer dans l'architecture des concours à topcoder.com. Vous aurez assez bon feed back des réviseurs et peut-être gagner de l'argent ainsi.

9voto

Joe Philllips Points 13616
  1. La conception de certaines architectures (pratique à topcoder.com)
    • Construire
    • Déboguer
    • Pour les soutenir
    • Remplacer
  2. Recevoir de la rétroaction.
  3. Apprendre de ses erreurs.
  4. GOTO 1

Pour être un bon architecte, vous devez être familier avec les modèles de conception, des algorithmes et des technologies pertinentes.

6voto

Tac-Tics Points 1558

Comme toute compétence, il faut du temps et beaucoup de pratique pour apprendre. Ce n'est pas tant sur la connaissance des techniques, mais de construire une solide intuition pour savoir quand une technique qui va ou ne va pas travailler.

Une grande partie de l'apprentissage est d'apprendre de vos erreurs. Donc, faire beaucoup d'erreurs et de les rendre le plus rapidement possible. Les projets doivent être relativement de courte durée. Traiter avec buggy, mal conçu choses que vous avez fait ne vous enseigne rien, à part les conséquences de l'écriture buggy, mal conçu choses.

Dans votre conception, les trouver le point d'équilibre entre le fait d'avoir pensé le problème au sérieux et à venir avec un design que vous pourrait réellement finir. Dans presque tous les cas, la tendance est à la sur-ingénieur, donc, Keep It Simple, Stupid (KISS) et de faire la chose la plus simple qui pourrait éventuellement fonctionner. Gardez à l'esprit les ordinateurs ne sont pas infiniment puissant --- ils sont indéfiniment puissant. Vous pouvez ajouter toutes les fonctionnalités que vous souhaitez pour votre système, mais à un certain point que vous avez à dire "fuck it, rien d'autre que l'utilisateur veut faire, ils devront le faire avec un stylo et du papier".

4voto

Miyagi Coder Points 2377

Découvrez Domain Driven Design par Eric Evans.

4voto

Mike Dunlavey Points 25419

Il y a des "méthodologies", la plupart de ceux qui disent quelque chose comme: obtenez une exigence spec, pour chaque nom, d'en faire une classe, et pour chaque verbe, d'en faire une méthode, etc. etc.

Je préfère une approche différente. (La question spécifique, il est à propos de l'optimisation, mais c'est vraiment sur la conception globale du système.) L'idée est d'identifier chaque type d'information qui va et vient. Qui fournit, quand, et sous quelle forme? À partir de ce que vous pouvez identifier une gamme de représentations pour l'information, avec des avantages et des inconvénients. Vous pouvez déterminer comment, pourquoi et quand à le conserver, et comment minimiser les représentations redondantes. Vous pouvez identifier la façon de minimiser la redondance du code source, et ainsi de minimiser les efforts de maintenance et de bugs.

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