Je commence par la documentation de conception. En particulier, la spécification - qui indique l'intention de la chose examinée.
Si possible, je regarde ensuite les notes de conception et la documentation pour avoir une idée générale de la façon dont cela a été fait, du processus de réflexion, du style et de la nature des personnes concernées.
Si possible, je parle ensuite aux personnes qui y ont travaillé - que fait-elle? Comment? Pourquoi? Où sont les corps enterrés?
Les développeurs ont tendance à sauter dans le code: "Laissez-moi vous montrer ce code". C'est bien pour eux mais a tendance à détourner mes besoins - qui est de comprendre le haut niveau qui donne du contexte aux choses de bas niveau.
Il utilise de grandes quantités de puissance cérébrale pour regarder de petits morceaux de code, hors de leur contexte complet, et comprendre quoi que ce soit de significatif. Donc, si possible, amener les développeurs à parler du PRINCIPE, de la structure, des unités, des modules, tout ce qui mène à une appréciation de la tâche.
Ce n'est qu'alors qu'il vaut la peine d'essayer d'entrer dans le code.
Dans le grand schéma des choses, regarder le code, c'est comme regarder une page pleine de 0 et de 1. Il y a du sens, mais il faut beaucoup de temps pour le comprendre. Avoir une idée de l'endroit où chercher et des parties significatives aide à réduire l'espace de recherche.
Tout cela dit - quand il n'y a pas de doco, pas de personnes et seulement du code - alors il n'y a rien d'autre à faire que de regarder le code.
Dans ce cas, je n'essaye pas normalement de le comprendre par une lecture lente et profonde, je fais une passe rapide, parcourant tout. Parfois, il s'agit simplement de fichiers ouverts et appuyez sur la touche page suivante. Vous pouvez obtenir une appréciation incroyable d'une vue d'ensemble juste en faisant cela. (Et dans certains cas, je jette même des fichiers exécutables de vidage de chaîne et les fouille à la recherche de signatures et de modèles. Cela a été incroyablement fructueux au cours des 20 dernières années.)