Question

Je suis récemment devenu partie d'une équipe de projet complexe intégré pour lequel je développerons une partie. Pour la partie qui est de ma responsabilité il n'y a qu'un ancien code et non beaucoup de documentation.

Je suis désireux de faire un bon début, mais la timidité et la peur de paraître stupide, il est difficile de poser des questions. Comment poser des questions?

Je voulais demander quelles sont les techniques que vous les gars utiliser pour comprendre un projet? Je veux dire qu'il ya beaucoup de détails techniques dont il faut se rappeler et garder dans le contexte afin de faire un dessin. Votre lire le code et obtenir des faits, mais comment aller de l'avant? Par exemple, vous lisez le code et le document (s) et obtenir des faits A et B fait. Comment parvenir à une conclusion appropriée X pour laquelle vous pouvez ou ne pas avoir besoin de prendre en compte des faits C et D aussi?

Était-ce utile?

La solution

La lecture du code est équilibré en écrivant la documentation.

Ecrire la documentation que votre remplacement aura besoin. Imaginez quelqu'un qui sait moins que vous. Expliquer pour cette personne.

Lorsque vous ne pouvez pas expliquer quelque chose à votre remplacement, poser des questions.

Lorsque vous avez une description complète, vous « connaître » le système.

Et vous avez produit une documentation complète.

Autres conseils

Code de lecture peut être particulièrement difficile s'il n'y a pas assez de documentation et le code est mal documenté et mal écrit. Je suppose que la meilleure façon est maintenant de trouver le point du code d'entrée et de comprendre lentement ses flux et les données qu'il utilise. Je garderais un oeil pour

  1. Structure - sont là un cloisonnement des entités / système? Où dans le code (et comment) communiquent-ils entre eux?

  2. données - quel type de structures utilisées pour contenir les données globales? Comment les données sont accessibles et enregistrées?

  3. Si vous faites C ou C ++, il est également important de savoir comment la mémoire est gérée et pour C ++ (et d'autres langues apparentées POO mémoire non gérés, je suppose), comment sont la propriété de l'objet contenu.

  4. Comme il est un projet intégré, y at-il

    constructions de code non standard ou de codage utilisées?

Vous ne mentionnez pas quel genre de tests existent. S'il y a des cas de test, les modifier et tracer comment cela affecterait le résultat final.

Vous pouvez regarder les diagrammes qui donnent toute l'image de la structure logique du système, comme, par exemple, en regardant les diagrammes de classes dans un système POO serait d'une grande aide. En regardant les diagrammes de conception d'applications vastes et complexes vous donne une compréhension claire de la façon dont les modules internes du système sont organisées et ainsi sa rend la tâche de déterminer quelle fonctionnalité fait un morceau de code particulier fait beaucoup plus facile. En l'absence de schémas, vous êtes le meilleur pari serait de commencer à partir du point d'entrée de l'application, comme principal () et à partir de là pendant que vous dessinez (littéralement dessiner ou d'écrire sur le papier) vos propres conclusions sur le système ( De cette façon vous pouvez avoir votre propre documentation) et demandez à vos pairs si elles sont correctes.

Mon expérience est qu'il est préférable de commencer avec une sorte de tâche - une correction de bug ou tout autre petit changement. Cela fournira un focus à votre apprentissage. Je trouve difficile à lire à travers un liant ou passer au crible les pages de code source ou de la documentation sans avoir un moyen de l'appliquer.

Si vous avez un bac à sable où vous pouvez jouer avec les changements que vous avez sans déconner la base de code, qui peut être encore plus utile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top