До какого предела можно упростить файловую структуру Java-проекта?

С точки зрения человека, не знающего Java углублённо, структура папок src/main/java, а потом ещё папка с доменом и папка с именем сайта - избыточная структура.

введите сюда описание изображения

С точки зрения логики и рациональности, достаточно одной корневой папки для исходных файлов, одной - для скомпилированных классов и (опционально) одной папки для тестов. Примерно так:

введите сюда описание изображения

В Source может быть любая система подпапок, назначение которых очевидно (например, "Entities", "Controllers", "Models") - в отличие от таких папок, как "main" и "java", которые кэп обошёл стороной.

Что касается папок, соответствующих пакетам, то, насколько я изучил теорию, они нужны для того, чтобы избегать конфликтов имён классов. Поэтому если мы пишем библиотеку - то да, без пакетов не обойтись (но и в этом случае их можно положить в Source без main и java). А если мы пишем приложение (для себя или на заказ), при этом все собственные утилитарные классы типа Utils и Arrays вынесем в отдельные модули (или даже в maven-пакеты, чтобы повторно использовать их), то для тех классов, что у нас приложении, нужды в пакетах не должно быть вовсе (правда, я не знаю, как тогда импортировать классы, но это ещё не значит, что импорт не возможен).

Итак, какие подводные камни есть на пути создания в проекта структуры, показанной на втором рисунке?


Ответы (0 шт):