SuiteScript 2.0: как написать эффективный код? - PullRequest
0 голосов
/ 03 декабря 2018

Я новичок в SuiteScript и хочу сделать наш код более эффективным.Глядя на наш код, кажется, что существует много скриптов одного типа для одного и того же типа записи.Например, 3 клиентских скрипта на заказ на продажу.Это плохая практика, чтобы свернуть все эти сценарии в один и тот же сценарий?

Я также хочу централизовать код.Последние 3 года я писал на C #, и любой повторно используемый код был помещен в соответствующий класс.Я хочу переписать код, который мы имеем таким же образом.Например, любой метод, связанный с заказом на продажу, помещается в модуль под названием SalesOrderServices.Этот модуль затем может быть добавлен в любой из сценариев, и все методы доступны при необходимости.Меня беспокоит то, что это сделает вещи менее эффективными из-за загрузки всех модулей в модуле Services, даже если они на самом деле не нужны.Итак, как вторая часть этого вопроса, это хорошая идея или она сделает наш код менее эффективным?

1 Ответ

0 голосов
/ 03 декабря 2018

В таком вопросе достаточно много рассмотреть, и не будет одного правильного ответа, но я буду вникать в мою точку зрения.

Совмещать не обязательно плохую практикуподобные сценарии объединены в один, но это также - неплохая практика держать их отдельно.Это действительно решение, которое только вы и ваша команда можете решить, что наиболее эффективно для вас поддерживать.

Я действительно считаю, что вы правы, если хотите разбить любую повторно используемую функциональность на отдельные модули, но я бы хотелосторожно помещая «все, что связано с заказом на продажу» в один модуль.Мое личное предпочтение - проектировать и группировать код, основываясь на функциях и бизнес-процессах, а не на типах записей.Если вы попытаетесь выполнить модульность на основе типа записи, что произойдет, если у вас будет процесс утверждения, который касается как заказов на поставку , так и счетов поставщиков?Где это будет жить?Я предпочитаю маленькие, сфокусированные модули, а не большие монолитные, но это мое предпочтение.Это не работает лучше для всех и для каждой команды.

Вы доказали, что загрузка дополнительных модулей или записей Script является узким местом для производительности вашей системы?Я был бы очень удивлен, если бы это было так, и поэтому я бы предостерег от преждевременной оптимизации такого рода вещей.Есть много аспектов NetSuite, которые работают порядка секунд и находятся вне вашего контроля, поэтому экономия нескольких микро- или миллисекунд здесь и не принесет ничего заметного для ваших пользователей.

...