Почему Kotlin допускает структуру пакетов, которая не соответствует структуре папок?

#kotlin #package #code-organization

Вопрос:

Пакеты Kotlin написаны package one.two.three , и они обычно соответствуют структуре папок (например one/two/three ) проекта, но они не обязательно должны соответствовать структуре папок. Какова мотивация решения разрешить пакетам не соответствовать структуре папок? Какие варианты использования он позволяет использовать?

Ответ №1:

Очевидным примером использования является то, что теперь вы можете организовать свой код в любых пакетах, и вам не нужно иметь одинаковую структуру папок. Кроме этого, я не вижу другого варианта использования. Зачем они это сделали? Не уверен, и это не кажется чем-то полезным или нужным, потому что рекомендуется все еще сопоставлять пакеты со структурой папок (даже IntelliJ предупреждает вас, когда у вас есть пакет, который не соответствует структуре папок.

Мне кажется, что это функция, которая не была нужна или даже не нужна сообществу.