Примеры опасностей глобальных переменных в R и Stata

В недавних беседах с сокурсниками я призывал избегать глобальных переменных, за исключением хранения констант. Это своего рода типичная программа прикладного типа статистики, где каждый пишет свой собственный код, а размер проекта невелик, поэтому людям может быть трудно увидеть проблемы, вызванные небрежными привычками.

Говоря об избежании глобальных переменных, я сосредотачиваюсь на следующих причинах, почему глобальные переменные могут вызывать проблемы , но я ' Мне бы хотелось иметь несколько примеров в R и / или Stata , чтобы соответствовать принципам (и любым другим принципам, которые могут оказаться важными), и мне трудно придумать правдоподобные.

  • ] Нелокальность: Глобальные переменные усложняют отладку, потому что они затрудняют понимание потока кода
  • Неявная связь: Глобальные переменные нарушают простоту функционального программирования, позволяя сложные взаимодействия между удаленными сегментами кода
  • Конфликты пространств имен: Общие имена (x , i и т. д.) используются повторно, вызывая конфликты пространств имен

. Полезным ответом на этот вопрос был бы воспроизводимый и автономный фрагмент кода, в котором глобальные переменные вызывают проблемы определенного типа, в идеале с другим фрагментом кода в что проблема исправлена. При необходимости могу сгенерировать исправленные решения, так что пример проблемы более важен.

Соответствующие ссылки :

Глобальные переменные плохие

Глобальные переменные плохие?

44
задан Community 23 May 2017 в 12:26
поделиться