Я в курсе что название темы звучит немного по дибильному.
И я в курсе что именование переменных и функций одна из главных проблем программирования, но все же...
Может я упоротый, но мне нравится когда написанный код читается легко и без подсказок сторма сразу понятно что это за класс и за что он отвечает.
Поэтому вопрос и возник, т.к. сейчас сторм по умолчанию хочет вынести в use все имя класса полностью, т.е. чтобы использовать в коде самую последнюю часть, чем большинство разработчиков активно пользуются.
Как результат очень часто в коде могут возникать дубликаты имен классов, особенно при использовании сторонних библиотек.
Также при чтении кода некоторых либ приходится тратить в разы больше времени, чтобы определить а что это за User - дто, сервис или еще что.
А т.к. не всегда есть возможность сменить структуру готового проекта, то можем получить кучу User, Model, Adapter и т.д. от разных вендоров.
Да в курсе что можно обращение к классу и по полному имени и по частичному use и по алиасу.
Но вот по полному имени иногда такие уровни вложенности и такие названия у сторонней либы, что вызов конструктора с парой параметров может быть полным нечитаемым трешем на вид.
По частичному пути, тоже вопрос - какую часть выбрать, чтобы код читался легко.
Понятно что полное названия класса будет зависеть от структура проекта, но должны же быть какие-то практики для готовых приложений и для сторонних библиотек.
Например у меня с готовыми приложениями, возникают вопросы, если есть приложение, а у него есть сторонние модули, которые могут расширять любую часть этого приложения (расширить что угодно, роуты, контроллеры, модели и т.д.). Типичный пример движок форума. Как все это назвать и структурировать, сам движок и сами модули.
И как защитить свой код от засирания неймспейсами сторонних библиотек (речь не идет о том когда разовое использование, а когда надо использовать часто и в разных местах)? Писать свои обертки или еще как?
Кто может подсказать хорошие примеры в плане структуры и именования классов, как готовых приложений, так и библиотек.
P.S. Вообще как-то сумбурно получилось, щас у меня нереальная жара и кондера вообще нет, а поставить нельзя
И я в курсе что именование переменных и функций одна из главных проблем программирования, но все же...
Может я упоротый, но мне нравится когда написанный код читается легко и без подсказок сторма сразу понятно что это за класс и за что он отвечает.
Поэтому вопрос и возник, т.к. сейчас сторм по умолчанию хочет вынести в use все имя класса полностью, т.е. чтобы использовать в коде самую последнюю часть, чем большинство разработчиков активно пользуются.
Как результат очень часто в коде могут возникать дубликаты имен классов, особенно при использовании сторонних библиотек.
Также при чтении кода некоторых либ приходится тратить в разы больше времени, чтобы определить а что это за User - дто, сервис или еще что.
А т.к. не всегда есть возможность сменить структуру готового проекта, то можем получить кучу User, Model, Adapter и т.д. от разных вендоров.
Да в курсе что можно обращение к классу и по полному имени и по частичному use и по алиасу.
Но вот по полному имени иногда такие уровни вложенности и такие названия у сторонней либы, что вызов конструктора с парой параметров может быть полным нечитаемым трешем на вид.
По частичному пути, тоже вопрос - какую часть выбрать, чтобы код читался легко.
Понятно что полное названия класса будет зависеть от структура проекта, но должны же быть какие-то практики для готовых приложений и для сторонних библиотек.
Например у меня с готовыми приложениями, возникают вопросы, если есть приложение, а у него есть сторонние модули, которые могут расширять любую часть этого приложения (расширить что угодно, роуты, контроллеры, модели и т.д.). Типичный пример движок форума. Как все это назвать и структурировать, сам движок и сами модули.
И как защитить свой код от засирания неймспейсами сторонних библиотек (речь не идет о том когда разовое использование, а когда надо использовать часто и в разных местах)? Писать свои обертки или еще как?
Кто может подсказать хорошие примеры в плане структуры и именования классов, как готовых приложений, так и библиотек.
P.S. Вообще как-то сумбурно получилось, щас у меня нереальная жара и кондера вообще нет, а поставить нельзя
Последнее редактирование: