如果Delphi库使用Random,它应该避免调用Randomize本身吗?
从文档:
(突出显示’我只有一次’) 最佳实践问题: 如果Delphi库使用Random,它是否只记录Randomize的初始化调用的要求,并将Randomize的调用留给库的用户? 或者库应该如何处理初始化,例如 if System.RandSeed = 0 then Randomize; 解决方法
在我看来,这完全取决于你的图书馆的结构和目的.
如果用户永远不会看到随机调用,那么我建议让库始终初始化它.将它放在文档中是没有必要的. 另一方面,如果用户实际上通过使用你的库(我猜你的库是如何工作的)直接调用Random或它的一些包装器,那么用户将(应该)意识到他正在使用某种随机 – 生成需要初始化的函数,因为大多数语言中的随机序列实际上是基于种子的伪随机序列. 可能是用户需要多次初始化随机序列,或者他/她可能只对初始化它一次感到高兴.这完全取决于用户的需求. 我不会强迫它,而是让Randomize调用对用户可用,并且可能让用户告诉库要么处理初始化还是留给他/她.在这种情况下,所有都应记录在案. HTH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |