Я новичок в задании, и унаследовал большой код java/mobile base. Он может содержать сотни java-файлов. Я этого не понимаю. Документальной документации практически нет. Моя работа - понять код и как он работает. Какую стратегию или совет вы можете дать, что может помочь мне решить эту проблему?стратегия по пониманию большой базы кода
То, что я пробовал до сих пор, заключается в том, что я рассмотрел конкретную функцию в приложении - функцию печати - и поставил точки останова в коде и просто попытался следовать за выполнением. До сих пор я только обнаружил, какие классы вызываются в каком порядке. Тем не менее, я чувствую, что этот способ может обеспечить ограниченное понимание этого сложного приложения. Я также просил работать над определенной функцией приложения, и кто-то может наставлять меня на то, как это работает, но у людей нет времени на это. Вы можете порекомендовать что-нибудь еще?
Этот вопрос довольно широк и приведет к «основанным на мнениях» ответам; так что здесь оффтоп. Вы можете попытаться спросить на quora.com. Мое мнение: есть некоторые инструменты, которые пытаются вывести структуру/архитектуру из существующего исходного кода. Сначала вы используете такие инструменты, чтобы получить приблизительное понимание **, что ** составляет ваше приложение. Просто слепо отладка в какой-то области, скорее всего, не поможет. Но еще важнее: попытаться определить людей, которые раньше работали с системой; или даже лучше: те эксперты домена, которые понимают, что приложение должно делать. Тогда: поговорите с ними! – GhostCat
Другой вопрос, это то, что отличает гениального программиста от среднего, что он может решить эту проблему и может выяснить, как все это работает быстрее, чем средний парень, и поэтому может начать генерировать код в течение нескольких дней? Это то, что ищут менеджеры? –
Опять же, ответ «это зависит». Я считаю, что наиболее важным навыком, необходимым для анализа огромных существующих базовых кодов, является ** опыт **. Когда вы работали с 5, 10, 20 подобными вещами в прошлом, вы можете быстрее находить «шаблоны» (потому что вы также знаете, что именно искали). Когда вы делаете это в первый раз, вы изучаете много вещей в один и тот же момент времени. Мало кто в этом хорош. В этом случае ваша «основная компетенция» будет способностью к систематической работе. Но, пожалуйста, обратите внимание: SO не является местом для таких обсуждений. Возможно, вам стоит обратиться к quora.com ... – GhostCat