|
![]() |
#1 |
Участник
|
Нет. не все равно.
На моем опыте 90% классов на вход принимают енум и курсор. Эти 90% классов вполне покрываются передачей на вход аргс. Можно считать, что это типизированная передача фиксированных параметров в контракте. Возможно, для некоторых классов избыточная. Но зато (если бы это было так) унифицированная для всех объектов системы! А это приводит в порядок мысли в голове разработчиков новой функциональности, и конкретным ожиданиям для существующей. И на 90%!!! исключает зоопарк в передаваемых структурах данных при инициализации. Энитайп же ни о чем не говорит. Совершенно. Он не типизирован. Поэтому использование его в контракте не является правильным решением. Проверка переданных данных лежит полюбому на создаваемом классе. --------- Вы же не будете утверждать, что использование контракта избавляет от необходимости проверки входных данных? |
|
|
За это сообщение автора поблагодарили: mazzy (2), ax_mct (5). |
![]() |
#2 |
Участник
|
Цитата:
Цитата:
Поэтому использование его в контракте не является правильным решением.
Проверка переданных данных лежит полюбому на создаваемом классе. --------- Вы же не будете утверждать, что использование контракта избавляет от необходимости проверки входных данных? ![]() Да проверять нужно по-любому. По крайней мере пока нет зависимых типов. Но я бы сделал наоборот - не передавал бы везде запись и enum - нужны они там или не нужны а в menu item поздравлял бы указывать только те параметры которые принимает main: нужна запись - попросить запись причем нужного типа, нужен enum - попросить enum, нужно два - просить два. Вы же сами не хотите any type - потому что нужна проверка при компиляции. Но почему-то хотите any record и anyenum. Статическая проверка типов и их явное указание решает сразу несколько проблем - некоторые классы ошибок будут видны сразу в процессе редактирования (не надо тестировать силы понять что типы неправильные), избавляют от некоторого документирования - типы уже указаны к тому же в отличие от args параметры можно назвать - не parmString а taxcode. |
|
|
За это сообщение автора поблагодарили: ta_and (3). |
![]() |
#3 |
Участник
|
Эти слова да МС бы в уши... Но это другой уровень организации вызова объектов. Слишком кардинально нужно менять всю систему. Это уже не один параметр, это меняет не только один системный вызов обжекта, но требует изменения всей среды разработки и передачи событий между объектами... В общем, это на порядок более нереальная придумка, чем моя с аргс.
![]() |
|
Теги |
sysextension framework, sysoperation framework, как правильно, полезное |
|
|