Различные ответы в этом блоге, по-видимому, определяются SE, которые способствуют строгому соблюдению обычных правил объектно-ориентированного программирования (используйте открытый класс с общедоступными общедоступными (aka static) и полностью квалифицированными ссылками на классы, или SE которые продвигают использование функции обратной совместимости (Module), для которой компилятор, очевидно, должен сделать то же самое, чтобы заставить его работать.
Будучи SE с опытом более 30 лет, я бы предложил следующие рекомендации:
- Если вы пишете весь новый код (не пытаетесь преобразовать устаревшее приложение), чтобы избежать использования этих форм вообще, за исключением редкого экземпляра, в котором вы действительно должны иметь статическую переменную, потому что они могут вызывать ужасные последствия (и очень трудно найти ошибки). (Многопоточный и многопроцессорный код требует семафоров вокруг статических переменных ...)
- Если вы изменяете небольшое приложение, которое уже имеет несколько глобальных переменных, затем сформулируйте их, чтобы они не были закрыты модулями, то есть нас e стандартные правила объектно-ориентированного программирования, чтобы воссоздать их как публичные статические и получить к ним доступ по полной квалификации, чтобы другие могли понять, что происходит.
- Если у вас есть огромное унаследованное приложение с десятками или сотнями глобальных переменных, обязательно используйте модули для их определения. Нет причин тратить время на то, чтобы приложение работало, потому что вы, вероятно, уже за 8-мя шарами, потраченными на свойства и т. Д.
задан IkoLogs 22 February 2019 в 11:50
поделиться