Netsuite SuiteScript2.0:如何编写高效的代码?

Netsuite SuiteScript2.0:如何编写高效的代码?,netsuite,suitescript2.0,Netsuite,Suitescript2.0,我是SuiteScript新手,希望我们的代码更高效。看看我们的代码,似乎有许多相同类型的脚本用于相同的记录类型。例如,销售订单上有3个客户端脚本。将所有这些脚本滚动到同一个脚本中是一种不好的做法吗 我还想集中代码。在过去的3年中,我一直用C#编写代码,任何可重用的代码都放在相关的类中。我想用同样的方式重写我们的代码。例如,与销售订单相关的任何方法都放置在名为SalesOrderServices的模块中。然后可以将此模块添加到任何脚本中,如果需要,这些方法都可用。我担心的是,这会因为加载服务模块

我是SuiteScript新手,希望我们的代码更高效。看看我们的代码,似乎有许多相同类型的脚本用于相同的记录类型。例如,销售订单上有3个客户端脚本。将所有这些脚本滚动到同一个脚本中是一种不好的做法吗


我还想集中代码。在过去的3年中,我一直用C#编写代码,任何可重用的代码都放在相关的类中。我想用同样的方式重写我们的代码。例如,与销售订单相关的任何方法都放置在名为SalesOrderServices的模块中。然后可以将此模块添加到任何脚本中,如果需要,这些方法都可用。我担心的是,这会因为加载服务模块中的所有模块而降低效率,即使它们不是真正需要的。所以,作为这个问题的第二部分,这是一个好主意还是会降低我们的代码效率?

< P>在这样的问题中有很多要考虑的问题,而且不会有一个正确的答案,但我会与我的观点相吻合。 将相似的脚本组合成一个脚本并不一定是不好的做法,但将它们分开也不是不好的做法。这真的是一个只有你和你的团队才能决定什么对你来说最有效的决定

我确实认为您希望将任何可重用功能分解为单独的模块是正确的,但我会小心地将“与销售订单相关的所有内容”放在一个模块中。我个人的偏好是根据功能和业务流程设计和分组代码,而不是围绕记录类型。如果您试图根据记录类型进行模块化,那么当您的审批流程同时涉及采购订单和供应商账单时会发生什么情况?那会住在哪里?我更喜欢小的、集中的模块,而不是大的单片模块,但这正是我的偏好。这对每个人和每个团队来说都不是最好的


您是否已证明加载其他模块或脚本记录是系统的性能瓶颈?如果真是这样的话,我会非常惊讶,因此我要提醒大家不要过早地优化这类事情。NetSuite的许多方面都是以秒为单位运行的,超出了您的控制范围,因此,在这里节省几微秒或几毫秒的时间,对您的用户来说没有任何意义。

感谢您的输入。我认为这更多的是为了使整个代码库更容易为我自己和团队管理。我还没有真正测试加载其他模块。只是理论而已。