|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Ваше мнение о глобальных функциях
Интересует ваше мнение о использовании глобальных функций. Вот у нас в команде один программист создал десяток глобальных методов для доступа к ресурсам (типа getTexture(), getXML(), getJSON()). Я же склоняюсь к тому, что это полная жесть, и надо делать так: Assets.getTexture()...
P.S. Кстати говоря, внутри этой глобальной getTexture() как раз находится Assets.getTexture(). Такие дела. |
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
Если разработчики старлинга изменят название функции Assets.getTexture(), или вы вовсе захотите использовать вместо старлинга другую библиотеку, твоему коллеге потребуется исправить лишь свою функцию getTexture(). Хотя оба случая маловероятны.
Минус в том, что при чтении кода ему приходится держать в голове, что же это за функция такая getTextures(). |
|
|||||
Ладно бы ему держать в голове. В команде 10 человек. А в старлинге не Assets, а AssetsManager.
Последний раз редактировалось Crash512; 26.08.2015 в 11:05. |
|
|||||
Я нормально отношусь. В команде надо договариваться, но это уже другой вопрос. В целом ничего плохого в этих функциях не вижу. Тоже часто использую.
Плюс к тому, если они глобальные, значит лежат в корне, то их не надо нигде импортировать. Поэтому, как уже сказали выше, при любых изменениях, достаточно будет поправить код в этих функция, не парясь о куче импортов там и сям. Да и просто запись getTextures() короче, чем Assets.getTextures(), а любая нормальная IDE сразу покажет, что это глобалка, а не внутренняя функция п.с. Но опять же, тут еще многое зависит от структуры проекта. Если это какой-то фреймворк, который должен лежать в своем пакете целиком, то лучше от них отказаться п.п.с. Я обычно использую глобалки типа random(); или distance(); |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Я бы не стал плодить кучу мусорных функций ради того, чтобы сократить запись на одно слово.
Если предположить вариант, что производится несколько больше действий (например, какая-то предварительная обработка данных после получения их из менеджера, или хотя бы даже приведение типа), то в данном случае я бы сделал класс с набором статических методов, а не разрозненных функций из соображений порядка в коде, так как все эти функции объединены общим смыслом - получение определенного ресурса. |
|
|||||
Я стараюсь избегать глобальных/статических переменных. Возможно у меня мания преследования, но я стараюсь максимально закрыть или же скрыть прямой доступ к данным. В некоторых случаях использую "псевдо-регистр". В корне создаю класс R, геттеры которого отдают нужные мне экземпляры классов или методов, что позволяет получать
__________________
return this... |
Часовой пояс GMT +4, время: 15:34. |
|
« Предыдущая тема | Следующая тема » |
|
|