C# vs кубики

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 702
Благодарностей
1 078
Баллы
113
Понятно, что шаблон на C# выглядит визуально более компактнее и элегантней, однако; Есть ли у кого нибудь явное докозательство того, что шаблон на C# работает быстрее чем шаблон на кубиках? Делал ли кто нибудь замеры двух одинаковых по функционалу шаблонов? Или это все чьи-то фантазии?
 

devffy

Client
Регистрация
16.03.2019
Сообщения
542
Благодарностей
188
Баллы
43
Понятно, что шаблон на C# выглядит визуально более компактнее и элегантней, однако; Есть ли у кого нибудь явное докозательство того, что шаблон на C# работает быстрее чем шаблон на кубиках? Делал ли кто нибудь замеры двух одинаковых по функционалу шаблонов? Или это все чьи-то фантазии?
Ну к примеру я шаб быстрее на кубах напишу) 1:0 в пользу кубов
 
  • Спасибо
Реакции: Juniorcpa

deskuznetsov

Client
Регистрация
29.08.2019
Сообщения
528
Благодарностей
363
Баллы
63
Я когда подобным вопросом задавался, то понял, что это все как с автомобилем.
Есть фанаты механики, а есть автомата, вот и тут так-же, просто кто как умеет.
И если ты можешь быстро делать на C# (он вроде как более гибкий в отличии от кубиков) то делаешь на c#, но если новичок, то зачем тратить время и что-то учить, когда можно собрать быстро шаблон на кубиках и решить поставленную задачу.
 
  • Спасибо
Реакции: orka13

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
Понятно, что шаблон на C# выглядит визуально более компактнее и элегантней, однако;
Кубики, это обертка для кода, такая же, как и общий код, как и dll библиотека. Что ты будешь использовать, выбирай по степени удобства.

Вот список преимуществ, которые я лично считаю актуальными:
1. Живучесть и отказоустойчивость шаблона сквозь обновления ZP. Код универсален, и при очередной обнове шаблон будет работать, а кубики могут сломаться.
1.1. В кубике могут быть ошибки и придется откатываться назад или ждать фиксов версии, в коде вероятность крайне низкая, за ислючением новых методов и правки старых.
2. Возможность отладки всего и вся, в несколько строк кода. На кубиках делать отладку..., это вырастет в бесконечные блоки проверок и условий.
3. Код легко читаем, легко комментируется, скрывается и объединяется в блоки - это делает его компактным.
4. Код можно вынести в общий код или библиотеку, таким образом достаточно будет вызвать метод, а значения переменных будут работать в любом месте шаблона и не нужно будет ничего объявлять заранее.
5. В код легко вносить правки или дорабатывать расширяя проект, не нужно отодвигать сложившуюся конструкцию кубиков, чтобы впихнуть новый функционал.
6. Нет необходимости использовать переменные проекта, списки, таблицы проекта. Я не использую списки и таблицы Zenno, а переменные проекта использую только для входных настроек, всё.
7. Логика написания шаблона в коде полностью отличается от логики написания на кубиках. В коде ты делаешь каркас и прописываешь все переменные, пути xPath и т.д. Затем только вызываешь из общего кода в кубике C#, таким образом ты формируешь логику работы шаблона в несколько строк за пару минут.


ЗЫ, писать на кубиках не умею от слова совсем, т.к. их функционал обновляется, дорабатывается, расширяется. А мне лень за этим следить, искать нужный кубик, пытаться визуально понять, где какой кубик.
По этой причине, читайте тексты выше, как однобокое имхо, того, кто не умеет в кубики.
 
  • Спасибо
Реакции: zarufakis

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 702
Благодарностей
1 078
Баллы
113
Кубики, это обертка для кода
Еще важным плюсом можно считать тот факт, что ЗП можно не обновлять годами, а код будет пахать как и прежде.
Но вопрос стоял про скорость...
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Кубики, это обертка для кода, такая же, как и общий код, как и dll библиотека. Что ты будешь использовать, выбирай по степени удобства.

Вот список преимуществ, которые я лично считаю актуальными:
1. Живучесть и отказоустойчивость шаблона сквозь обновления ZP. Код универсален, и при очередной обнове шаблон будет работать, а кубики могут сломаться.
1.1. В кубике могут быть ошибки и придется откатываться назад или ждать фиксов версии, в коде вероятность крайне низкая, за ислючением новых методов и правки старых.
2. Возможность отладки всего и вся, в несколько строк кода. На кубиках делать отладку..., это вырастет в бесконечные блоки проверок и условий.
3. Код легко читаем, легко комментируется, скрывается и объединяется в блоки - это делает его компактным.
4. Код можно вынести в общий код или библиотеку, таким образом достаточно будет вызвать метод, а значения переменных будут работать в любом месте шаблона и не нужно будет ничего объявлять заранее.
5. В код легко вносить правки или дорабатывать расширяя проект, не нужно отодвигать сложившуюся конструкцию кубиков, чтобы впихнуть новый функционал.
6. Нет необходимости использовать переменные проекта, списки, таблицы проекта. Я не использую списки и таблицы Zenno, а переменные проекта использую только для входных настроек, всё.
7. Логика написания шаблона в коде полностью отличается от логики написания на кубиках. В коде ты делаешь каркас и прописываешь все переменные, пути xPath и т.д. Затем только вызываешь из общего кода в кубике C#, таким образом ты формируешь логику работы шаблона в несколько строк за пару минут.


ЗЫ, писать на кубиках не умею от слова совсем, т.к. их функционал обновляется, дорабатывается, расширяется. А мне лень за этим следить, искать нужный кубик, пытаться визуально понять, где какой кубик.
По этой причине, читайте тексты выше, как однобокое имхо, того, кто не умеет в кубики.
ой, а можно не по теме спрошу ? :-)
а как вынести код в общую библиотеку или общий код ? и как вызвать в кубике С# ? у меня как раз щас накопилось штук 10 нужных процедур и расположены в разных проектах. При изменении приходиться довольно долго искать и все эти кубики править.
 

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
Но вопрос стоял про скорость...
Скорость относительна, тут есть фактор количества потоков и т.д. В один поток, думаю, разницы не должно быть, если предположить, что кубик как обертка, не будет тупить, в отличии от чистого кода, который тупить не должен.

Также стоит учитывать, что "код", бывает разным, для примера можешь посмотреть реализации одного и того же действия в коде.

а как вынести код в общую библиотеку или общий код ?
Поищи в конкурсе статей/шаблонов. Там разбирали работу с общим кодом, несколько тем точно есть, от азов до сложных реализаций.
 
  • Спасибо
Реакции: Phoenix78

ezotonal

Client
Регистрация
13.01.2014
Сообщения
819
Благодарностей
231
Баллы
43
Я когда подобным вопросом задавался, то понял, что это все как с автомобилем.
Есть фанаты механики, а есть автомата, вот и тут так-же, просто кто как умеет.
И если ты можешь быстро делать на C# (он вроде как более гибкий в отличии от кубиков) то делаешь на c#, но если новичок, то зачем тратить время и что-то учить, когда можно собрать быстро шаблон на кубиках и решить поставленную задачу.
Сниппет C# сделаны для того что бы сделать то, что стандартными затруднительно или вовсе невыполнимо. Ну а полностью писать проект на C# я считаю глупо. Бери да пиши на чистом C# без использования зеннопостера. 90% всех нужных действия можно решить стандартными экшенами.

p.s. Некие личности пишут на C# выставляя себя за полных профи. Тем самым в несколько раз повышая стоимость реализации. Если выполняются работы на заказ или отдельный продукт на продажу в массы
 

Metrix

Client
Регистрация
03.01.2014
Сообщения
343
Благодарностей
272
Баллы
63
Если вопрос про скорость, предлагаю решить простую задачу кубиками и кодом:
Создание файла/списка с 1кк строк, допустим, с числами от 0 до 999999.

P.S. Нет смысла сравнивать скорость выполнения единичной операции, типа, взять строку из списка или обработать регуляркой переменную. Код будет быстрее в умелых руках - это факт, в неумелых - может скорость ещё медленнее кубиков получиться.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Если не знаете элементарные отличия, на подобии: list.Count и list.Count() - то лучше не лезть. :-)
 
  • Спасибо
Реакции: GREXA

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)