В C # я использую вариант 2, который имеет смысл из-за широкой поддержки разработки IDE.Поскольку общепринятой практикой является объявление пространств имен в верхней части файла кода (импорт, на который вы ссылаетесь в пункте с маркером), вы можете сразу увидеть, что используется данным файлом.
Я говорю, что поддержка IDE имеет значение, потому что она позволяет мне сразу увидеть всплывающие подсказки, откуда взялся данный класс, на который ссылается мой код, а также позволяет увидеть, какие объявления пространства имен фактически не используются и могутбыть удаленным.
Для старого языка, который не имел преимуществ IDE, описанных выше, я бы, вероятно, склонился к цифре 3, чтобы вы могли все еще иметь краткий код и избежать путаницы относительно того, откуда происходит данный класс,Я бы лично выбрал вариант 1, потому что кажется, что он будет слишком многословным.
Аналогично для нового языка мое решение будет зависеть от IDE.Если в нем есть такие вещи, как то, что я описал для C #, я бы выбрал вариант 2, иначе вариант 3.