Другая процедура ...
После прочтения Энди Ханта "Прагматическое мышление и обучение - рефакторинг вашей посуды" (который не касается этого напрямую), я взял несколько советов, которые, возможно, стоит упомянуть:
Наблюдать за поведением:
Если есть пользовательский интерфейс, тем лучше. Используйте приложение и получите ментальную карту отношений (например, ссылки, модалы и т. Д.). Посмотрите на HTTP-запрос, если он помогает, но не придавайте ему особого значения - вы просто хотите легкого дружеского знакомства с приложением.
Подтверждение структуры папки:
Еще раз, это свет. Просто посмотрите, что и где принадлежит, и надейтесь, что структура достаточно семантическая - отсюда всегда можно получить информацию верхнего уровня.
Анализ стеков вызовов, сверху вниз:
Просмотрите список на бумаге или другом носителе, но постарайтесь не набирать его - это задействует разные части вашего мозга (если нужно, создайте его из Legos) - вызовы функций, объекты и переменные, которые ближе всего к верхнему уровню в первую очередь. Посмотрите на константы и модули, убедитесь, что вы не погрузитесь в мелкозернистые функции, если можете помочь.
MindMap It!:
Возможно, самый важный шаг. Создайте очень черновик черновика вашего текущего понимания кода. Убедитесь, что вы быстро пробежали по карте ума. Это позволяет равномерно распределить различные части вашего мозга (в основном R-Mode), чтобы иметь право голоса на карте.
- Создание облаков, ящиков и т. Д. Где бы вы ни изначально не думали, что они должны идти на бумаге. Не стесняйтесь обозначать поля с синтаксическими символами (например, «F» -функция, «f» -закрытие, «C» -константа, «V»-Global Var, «V» низкоуровневой переменной и т. Д.). Используйте стрелки: входящий массив для аргументов, исходящий для возвратов или что более естественно для вас.
- Начните рисовать соединения, чтобы обозначить отношения. Это нормально, если выглядит грязно - это первый черновик.
- Сделайте быстрый грубый пересмотр. Его слишком сложно читать, сделайте еще одну быструю организацию, но не делайте больше одной ревизии.
Откройте отладчик:
- Подтвердить или аннулировать любые представления, которые вы имели после сопоставления. Отслеживание переменных, аргументов, возвратов и т. Д.
- Отслеживание HTTP-запросов и т. Д., Чтобы понять, откуда поступают данные. Посмотрите на сами заголовки, но не углубляйтесь в детали тела запроса.
MindMap Again!:
Теперь вы должны иметь представление о большинстве функций верхнего уровня.
- Создайте новый MindMap, в котором есть все, что вы пропустили в первом. С этим вы можете потратить больше времени и даже добавить относительно мелких деталей - но не бойтесь того, с какими предыдущими понятиями они могут конфликтовать.
- Сравните эту карту с вашей последней и устраните все вопросы, которые у вас были раньше, запишите новые вопросы и запишите противоречивые перспективы.
- Пересмотрите эту карту, если она слишком туманная. Изменяйте столько, сколько хотите, но сводите изменения к минимуму.
Притворись не своим кодом:
Если вы можете выразить это механически, сделайте это. Наиболее важной частью этого является создание метафоры для поведения приложения и / или небольших частей кода. Думайте о смешных вещах, серьезно. Если это было животное, монстр, звезда, робот. Какой это было бы. Если бы это было в Star Trek, для чего бы они его использовали. Подумайте о многих вещах, чтобы взвесить это.
Синтез по анализу:
Теперь вы хотите увидеть не «что», а «как». Любые низкоуровневые детали, которые через вас для петли могут быть извлечены и помещены в стерильную среду (вы контролируете ее входы). Какие результаты вы получаете. Является ли система более сложной, чем вы думали изначально? Simpler? Нужны ли улучшения?
Внеси что-нибудь, чувак!:
Написать тест, исправить ошибку, прокомментировать ее, абстрагировать ее. У вас должно быть достаточно возможностей, чтобы начать вносить небольшие взносы, и FAILING IS OK:) ! Обратите внимание на любые изменения, внесенные вами в коммиты, чат, электронную почту. Если вы сделали что-то подлое, вы, ребята, можете поймать это до того, как оно поступит в производство - если что-то неправильно , это отличный способ заставить товарища по команде прояснить ситуацию для вас. Обычно слушание разговора с товарищем по команде многое прояснит, что привело к столкновению MindMaps.
В двух словах, самое важное, что нужно сделать, это использовать нисходящий способ задействовать как можно больше различных частей вашего мозга. Это может даже помочь закрыть ноутбук и, если это возможно, повернуть лицо к окну. Исследования показали, что соблюдение крайнего срока приводит к возникновению «похмелья под давлением» в течение ~ 2,5 дней после крайнего срока, поэтому именно такие сроки лучше всего использовать в пятницу. Итак, БУДЬТЕ РЕЛАКСИРОВАННЫМ, НЕТ ВРЕМЕНИ, И ТЕПЕРЬ ОБЕСПЕЧИВАЙТЕ СЕБЯ СРЕДОЙ, КОТОРЫЙ БЕЗОПАСНЫ, ЧТОБЫ СДЕЛАТЬ В Большая часть этого может быть довольно спеша, пока вы не приступите к деталям. Убедитесь, что вы не обходите понимание тем высокого уровня.
Надеюсь, это поможет и вам:)