Одноименные классы в разных неймспейсах
От: e.thrash  
Дата: 14.10.15 07:09
Оценка:
Насколько это нормально?
Пример: есть куча сложных однотипных отчетов, в разных разрезах под которые создаются внутренние классы, чтобы группировать данные.
Или же лучше добавлять к названию класса название отчета, чтобы не дублировались названия классов в разных неймспейсах?
Re: Одноименные классы в разных неймспейсах
От: Sinix  
Дата: 14.10.15 07:25
Оценка: 2 (1)
Здравствуйте, e.thrash, Вы писали:

ET>Насколько это нормально?

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

Если классы используются _только_ в отчётах, то ничего не мешает оформить их как nested type. Для этого особенно удобны partial-классы: основная логика в одном файле, вспомогательные типы — в другом.

Если такой вариант не подходит, но одноимённые типы _точно_ не будут использоваться одновременно в одном куске кода — заводите для каждого отчёта свой namespace.

Ну и наконец универсальный вариант: добавляем имя отчёта к имени класса. Это стандартный подход для классов параметров/форм и тыды. Например, IncomeReport | IncomeReportParameters | IncomeReportUI etc.

Выбирайте
Re[2]: Одноименные классы в разных неймспейсах
От: Dziman США http://github.com/Dziman
Дата: 14.10.15 07:37
Оценка: +1 :)
Здравствуйте, Sinix, Вы писали:

S> Ну и наконец универсальный вариант: добавляем имя отчёта к имени класса. Это стандартный подход для классов параметров/форм и тыды. Например, IncomeReport | IncomeReportParameters | IncomeReportUI etc.

И для верности разнести их в отдельные неймспейсы
avalon 1.0rc3 build 430, zlib 1.2.5
Re: Одноименные классы в разных неймспейсах
От: T4r4sB Россия  
Дата: 14.10.15 07:50
Оценка:
Здравствуйте, e.thrash, Вы писали:

ET>Насколько это нормально?

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

Я думал, пространства имён для того и нужны, чтобы случайно на конфликт имён не напороться.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[2]: Одноименные классы в разных неймспейсах
От: Ziaw Россия  
Дата: 26.10.15 04:47
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Я думал, пространства имён для того и нужны, чтобы случайно на конфликт имён не напороться.


Во первых не только для этого. Во вторых это не повод сознательно создавать подобные конфликты.
Re[3]: Одноименные классы в разных неймспейсах
От: Venom  
Дата: 26.10.15 04:59
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Во первых не только для этого. Во вторых это не повод сознательно создавать подобные конфликты.


Ты имеешь в виду область видимости?
Re[4]: Одноименные классы в разных неймспейсах
От: Ziaw Россия  
Дата: 26.10.15 07:30
Оценка:
Здравствуйте, Venom, Вы писали:

V>Ты имеешь в виду область видимости?


Да.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.