Опыт показал мне, что у вас есть 3 основных цели при изучении устаревшей системы.
- Узнайте, что код должен делать
- Узнайте, как это делает их
- (самое главное) Узнайте, почему он делает их так, как это делает
Все три из этих частей очень важно, и есть несколько трюков, которые помогут вам начать работу.
Во-первых, не поддавайтесь искушению просто щелчком ctrl-click (или независимо от того, что использует ваша IDE), чтобы обойти код. Вероятно, вы не сможете держать все в своем воображении таким образом, особенно когда каждая строка заставляет вас смотреть на несколько других классов, чтобы понять, что это такое.
Прочитайте, если это возможно, документацию; это обычно помогает вам быстро получить умственную основу, на которой можно построить все, что следует.
При необходимости проведите тестовые примеры.
Не бойтесь спросить кого-то, кто знает, есть ли у вас вопрос. Разумеется, вы не должны тратить время других сотрудников на безумные запросы, но если есть что-то, что вы просто не понимаете (это особенно верно в отношении более концептуальных вопросов типа «Не было бы более целесообразным реализовать это как ___ "или что-то в этом роде), вероятно, стоит выяснить ответ, прежде чем вы что-то портете и не знаете, почему.
Когда вы, наконец, приступите к чтению кода, начните с логического «основного» места и идите оттуда. Не просто читайте код сверху вниз, либо в алфавитном порядке, или что-нибудь (это, вероятно, очевидно).
Не уверен, что это предназначено, но мне смешно, что следующая вещь обычно пишет новые тесты (не так много говорит о существующих модульных тестах, не так ли? :) – Learning
Я не хочу унижать своих коллег , но мне еще предстоит увидеть 100% полный комплект модульных тестов (даже мои собственные могут быть улучшены). :) Кроме того, я считаю, что письменные тесты - это лучший способ узнать, чем читать. –
ROTFL, хороший один :))))))) – IAdapter