De béton les symptômes de l'over-engineering

J'ai récemment trouvé moi-même dans la position de l'expliquer (En interne) de l'application j'ai écrit à deux candidats de ma société aime à la location afin de les aider dans la maintenance et l'ajout de fonctionnalités mineures.

C'est la première "production" de l'application que j'ai écrit, il a 45k Ldc et j'ai passé près de deux ans de "solo" de développement sur elle. Je suis assez jeune (18 ans) et a écrit l'application à partir de zéro, tout en étant engagé comme doublure pour un ancien développeur qui a quitté la société. Inexpérimentés dans la conception d'applications de cette taille, j'ai essayé de l'utilisation commune de l'architecture et de la conception des modèles.

Aujourd'hui, je sais que j'ai fait un peu de sérieux sur-l'ingénierie, par exemple à l'aide d'un débranché le suivi des modifications de l'architecture de la place de l'Unité De Travail, qui la choisi ORM a déjà mis en place. Je vais probablement jamais avoir à aller à la "vraie" trois niveaux.

Les deux candidats ont 10 ans+ d'arrière-plan dans le Développement de l'Application avec la plate-forme correspondante. Étant la moitié de leur âge et ayant peu d'expérience je respecte leur opinion. Quand j'ai d'expliquer l'architecture de l'application à eux, les commentaires étaient le long des lignes de:

  • Jeez, personne ne me paye pour faire des trucs comme ça, je dois faire les choses
  • Coller avec ce que fait le cadre, ne pas utiliser de fantaisie bibliothèques/technologies
  • Ne pas envelopper code de la structure. Dans une équipe, tout le monde va écrire son propre code wrapper de toute façon.
  • Que vous utilisez .NET 3.5? Eh bien, nous sommes à l'aide 2.0.
  • Ce n'est que LINQ trucs m'acheter? Toute cette question de la composition et de la projection semble trop compliqué.

Maintenant, je me demande:

Suis-je un l'architecture de l'astronaute? Comment savoir si je vais trop loin avec l'architecture? Quels sont les symptômes courants de l'over-engineering?

  • Cela pourrait être mieux qu'un wiki de la communauté - il n'est probablement pas un large consensus sur ce qui constitue une plus-ingénierie.
  • Parfois, le gars avec+ de 10 ans d'expérience est le meilleur de son équipe, parfois, il est la carrière amateur. Parfois, la haute gamin de l'école sans diplôme effectue au niveau de la direction, parfois, ils n'ont jamais écrit une ligne de code dans leur vie et de penser la programmation ressemble à ceci: youtube.com/watch?v=gwlE1aASc4g . Pour ce que sa vaut le coup, nous sommes tous enclins à plus de génie. Je ne voudrais pas transpirer, surtout si ces gars-là n'ont pas vraiment vu le code réel. Viens de faire un peu balaie propre pour enlever tout ce qui ressemble de DailyWTF matériel et de l'appeler bon.
  • D'accord avec Juliette - si vous êtes en train d'apprendre de lui et il fonctionne, alors ne vous inquiétez pas à ce sujet. Presque tout le monde va vers trop compliqué avant de trouver comment code plus simple de la mode comme vous obtenez plus d'expérience. Au moins vous avez pensé à elle...