Возникает вопрос, какая у меня мотивация для изучения новой системы:
Исправление ошибки / незначительное улучшение - в этом случае я могу сосредоточиться исключительно на той части системы, которая выполняет определенную функцию, которую необходимо изменить. Это способ сломать огромную систему, но также и способ определить, является ли проблема тем, что я могу решить, или это то, что я должен передать готовой компании, программное обеспечение которой мы используем, например. Система CRM, CMS или ERP может быть настроенной готовой системой, поэтому в ней много компонентов.
Работа над проектом - это был бы другой случай, и я бы, вероятно, попытался построить себе вид с высоты около 30 000 футов, чтобы узнать, что представляют собой компоненты высокого уровня и какие области системы выполняет влияние проекта. Примером этого является то, что я присоединяюсь к компании и работаю над существующей кодовой базой, но у меня нет такой роскоши, как в небольшом фокусе, как в предыдущем случае. Часть этого представления заключается в поиске любых шаблонов в коде с точки зрения соглашений об именах, структуры проекта и т. Д., Поскольку это может быть полезно, когда я начну изменять какой-то код в системе. Я, вероятно, проведу некоторую трассировку в системе и попытаюсь увидеть, где находятся более уродливые части кода. Под уродливыми я подразумеваю те части, которые похожи на клуджи и могут иметь некоторый код для спагетти, так как он был спешен при первой записи и сейчас подвергается серьезной переработке.
По-моему, еще один способ взглянуть на это - вопрос о том, буду ли я проводить дни или недели, оборачиваясь вокруг системы, как во втором случае, или это будет случай, когда, надеюсь, потребуется всего несколько часы, с оптимизмом, то есть, чтобы встать на ноги и внести необходимые изменения.