Kotlin удаляет ограничение на Java «один класс верхнего уровня для каждого файла», который я научился любить. Интересно, есть ли причины для этого обсуждать где-то и есть ли какие-то рекомендации, как справиться с этой новой свободой?Соглашения об именах файлов для Kotlin
ответ
Вы все еще можете использовать это правило Java в качестве условного обозначения и называть свои файлы после своих классов. Или вы можете начать вкладывать больше классов в один файл Kotlin, в какой ситуации я бы рекомендовал называть файлы по их назначению. Каждый файл обычно содержит классы или другие элементы верхнего уровня, которые связаны друг с другом (если это не так, возможно, они не относятся к одному и тому же файлу в первую очередь?). Должно быть одно слово или небольшое количество слов, которые выражают цель всех классов в одном файле, который затем является естественным кандидатом на имя файла.
Конечно, все звучит правильно. Однако через некоторое время вы получите «Listener.kt», содержащий класс «Наблюдатель», как переименованные вещи. Почти каждый не-Java-проект страдает от этого, по крайней мере, немного. Вот почему я гораздо более счастлив с строгостью Java. – maaartinus
Я считаю, что это то, что не нужно применять, но больше об индивидуальной и командной дисциплине. Лично я предпочитаю один класс для каждого файла для лучшей открытости, но с Kotlin, как и JavaScript, я использую множество автономных (верхних уровней) функций, а затем группирую функциональность и файлы имен соответственно. –
Не имеет значения, так как «именование файлов» является (случайной) проблемой файлового пространства (проверка байтовых потоков и коллекций того же самого), тогда как «имя класса» или «нет именования, только фрагменты кода, плавающие вокруг», является проблемой (Kotlin) (предоставление исходного кода и других артефактов). Почему нам нужно задавать себе вопросы относительно того, как пространство пакетов отображается в файловом пространстве :-) –
- 1. Соглашения об именах файлов
- 2. Соглашения об именах файлов jar
- 3. Соглашения об именах базовых файлов
- 4. Соглашения об именах AJAX
- 5. Соглашения об именах для MVVM?
- 6. Соглашения об именах для JavaScript
- 7. Соглашения об именах для xibs
- 8. Соглашения об именах для потоков?
- 9. соглашения об именах для управления
- 10. Стандартные соглашения об именах файлов в Ruby
- 11. Соглашения об именах .NET
- 12. Соглашения об именах Ruby?
- 13. Соглашения об именах объектов
- 14. Соглашения об именах
- 15. Соглашения об именах Python
- 16. SQL соглашения об именах
- 17. Соглашения об именах Bem
- 18. Соглашения об именах PHPUnit
- 19. Соглашения об именах PostgreSQL
- 20. Соглашения об именах Java
- 21. Соглашения об именах iOS .plist
- 22. соглашения об именах в Hibernate
- 23. iOS Соглашения об именах изображений
- 24. Соглашения об именах веб-страниц
- 25. Соглашения об именах для объектов шаблона
- 26. IIFE и соглашения об именах
- 27. Соглашения об именах пакетов Python
- 28. Соглашения об именах в C#
- 29. zf2 Соглашения об именах классов
- 30. Соглашения об именах javascript mock
Этот вопрос слишком широк и основан на мнениях, кроме как сказать «нет ориентира», поскольку он действительно содержит личность вашей команды, чтобы решить, какие типы вещей вы упаковываете вместе в файл, и поэтому ваше имя будет отрегулируйте, чтобы сделать содержимое. Поэтому ответ «это зависит», и это означает, что вопрос, вероятно, должен быть закрыт. –
@JaysonMinard никто никогда не отвечал на реальный вопрос, хотя, почему Котлин решил не иметь одного публичного класса верхнего уровня для ограничения файлов? – Bhargav