Как найти каждый фрагмент кода в моем проекте, который обращается к файловой системе? - PullRequest
1 голос
/ 26 марта 2019

Мне нужно найти каждое место в коде (в проекте Java), где оно каким-то образом обрабатывает файловую систему (например, создает файл, читает файл, получает список файлов каталога и т. Д.)

Какой тип поиска наиболее распространен? Как не пропустить что-то?


Кроме того, меня интересует наличие шаблона для доступа к файловым системам. Нужно ли делать такой доступ через один конкретный класс утилит (провайдер, менеджер, контроллер ...)?

Этот вопрос может показаться слишком широким, заранее извиняюсь.

Ответы [ 2 ]

1 голос
/ 27 марта 2019

Прежде всего, этот вопрос не имеет ничего общего с шаблонами проектирования.

  • Шаблоны проектирования имеют отношение к процессу проектирования вашего приложения.
  • Вы, похоже, спрашиваете о том, как проанализировать уже написанную кодовую базу.

(Но нет, нет общих шаблонов проектирования , которые относятся к поиску.)


Предполагая, что вы на самом деле спрашиваете о методе для проведения такого анализа:

  • Хорошая среда разработки предоставит средства для поиска мест, где указаны конкретные классы.Таким образом, вы можете определить интересующие вас классы (в java.io, java.nio и т. Д.) И методично посмотреть на все места, на которые они ссылаются в вашем коде.

  • В Linux, Unix, Mac - это текстовые инструменты, такие как grep, которые можно комбинировать с find для просеивания кодовой базы.Например, для поиска import операторов.

Но не существует волшебной пули, которая найдет «что-либо, связанное с файловой системой» в вашей кодовой базе, и нет волшебной пули, которая выведетшаблон или шаблоны из того, как ваш код что-то делает.(AFAIK) Это в значительной степени зависит от вас.

1 голос
/ 27 марта 2019

Может быть полезно. Если щелкнуть правой кнопкой мыши на package и выбрать Найти использование

enter image description here

После этого вы сможете настроить критерии поиска для включения Использование классов и интерфейсов

enter image description here

и отменить выбор Показать операторы импорта (они нам не нужны!)

enter image description here

Который в моем случае дает такой результат

enter image description here

Вы можете увидеть все значения class es 'и interface s из java.nio, которые будут найдены!
Я думаю, что это лучшее, что вы можете иметь, по крайней мере, без сторонних инструментов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...