Дмитрий Барашев, инженер Google Санкт-Петербург
«В какой же строке определяется этот метод? Их же тут тысячи! Может попробовать текстовый поиск? Это не определение, это вызов, это тоже вызов… а, вот он! Принимает параметром какой-то класс… А его где искать? В начале файла написано import com.example.*; Ну кто так делает?!»
Известно, что значительную часть своего рабочего времени программист тратит на чтение кода, своего или чужого. Как правило, чтение не ограничивается одним файлом. Требуется найти файл, в котором определен тот или иной класс или функция, требуется отыскать нужную строчку кода, и так далее. При больших объёмах исходников эта задача становится сложной, и программисты всегда мечтают о том, чтобы поиск и навигация по коду были легче. Для исходников на локальной рабочей машине можно использовать всю мощь современных сред разработки, но вот просматривать открытый код, лежащий в больших количествах в репозиториях и архивах в сети, до недавнего времени было не так-то просто.
«В какой же строке определяется этот метод? Их же тут тысячи! Может попробовать текстовый поиск? Это не определение, это вызов, это тоже вызов… а, вот он! Принимает параметром какой-то класс… А его где искать? В начале файла написано import com.example.*; Ну кто так делает?!»
Известно, что значительную часть своего рабочего времени программист тратит на чтение кода, своего или чужого. Как правило, чтение не ограничивается одним файлом. Требуется найти файл, в котором определен тот или иной класс или функция, требуется отыскать нужную строчку кода, и так далее. При больших объёмах исходников эта задача становится сложной, и программисты всегда мечтают о том, чтобы поиск и навигация по коду были легче. Для исходников на локальной рабочей машине можно использовать всю мощь современных сред разработки, но вот просматривать открытый код, лежащий в больших количествах в репозиториях и архивах в сети, до недавнего времени было не так-то просто.