所以,我们在办公室里讨论了关于命名约定的标准(如果有的话),以及何时使用对象和子对象,而不是仅仅使用对象的完整上下文。我可能用错了术语,但这里有一个例子来说明我的意思。下面两组代码有什么区别?
从技术上讲,它们的功能完全相同,是吗?但不同的是,大数据的应用,我们正在创建一个需要管理的附加对象。那会占用更多的资源,是的。我不确定是否对这些资源的成本支出做过任何研究,但我希望它们可以忽略不计。
与前者相比,我更喜欢后者编写代码的方法。为什么?因为我喜欢分隔和封装,把东西分成几部分。我还希望我的代码行水平更短,尽管这可能会导致代码有更多的行。我只是觉得它更容易阅读。再举一个例子,以这个嵌套方法:
为例,这将把字符串转换成十进制,云教云,然后四舍五入到两位小数。但我讨厌这个。我更喜欢以下代码:
为什么?多种原因:
是的,我知道我正在创建一个额外的不必要的变量,它占用了更多的内存。是的,我知道我正在创建额外的行,这些行可能被认为是不必要的代码,但是我喜欢有额外的调试空间来解决问题,我认为这样可以更容易地解决代码的问题?你同意我的看法吗?还是你认为这只是额外的开销,没有必要?为什么?
嗨,263云通信企业版,韦斯特利,
这条线:
暗淡的有序线SAPbobsCOM.Document\u行= 订单行
不创建新对象。它创建一个对已经存在的对象的引用。就资源而言,它意味着存储一个引用(它几乎可以忽略不计)。但是可以使用内存探查器来检查数字。
在SDK中,我们有COM组件,在与这些组件"通信"时会有一点开销。存储这样的引用可以产生积极的影响,特别是对集合(例如文档行)。
for(…)
{
document.Lines.ItemCode文件="ItemCode";//当有很多行时命中性能
}
var行=文档行;
对于(…)
{
行.ItemCode="ItemCode";//更好
}
在SCN上有一些关于这个的帖子有些人在速度上有所提高。
关于你的第二点,对我来说可读性是一个重点,这是:
Dim sInput As String="45.069023"
Dim dInput As Decimal=0.0
十进制.TryParse(输入,原生淘客app,输入)
如果输入0.0,淘客网站,则
输入=数学。圆(D输入,2)
结束,如果
读得比另一个好得多。源代码应该是为人类而不是为机器编写的(这是编译器的工作)。
这是我的2美分
干杯。
致意,
佩德罗马圭亚
另外2美分,
关于宣布
暗淡的oOrderLines为SAPbobsCOM.Document\u行= 订单行
我读了SDK文档-在某处,我再也找不到了-
在使用
时oOrder.Lines.ItemCode项目代码="XXX"
内部是SAPbobsCOM.Document\u行已创建。
但您无法从代码中访问此引用对象,因为您没有声明它。
其含义是:
使用ReleaseComObject对内存进行内部清理时,您只能释放oOrder对象。文档行的引用未被释放,从而导致内存泄漏。
通过将oOrderLines声明为SAPbobsCOM.Document\u行,您可以显式释放此com对象。
ReleaseComObject(oOrderLines)
ReleaseComObject(oOrder)
会产生更受管理的内存
因此,关于您的评论
它不是缺点,实际上是为了我们可以管理资源。
说了这么多,是的,我同意你最好申报订单行。
尽管我承认我总是使用'oOrder.Lines.ItemCode项目代码'