Questions tagged «language-agnostic»

将此标签用于独立于任何特定编程语言的编程问题。

28
了解“随机性”
我无法解决这个问题,哪个更随机? rand() 或: rand() * rand() 我发现它是一个真正的脑筋急转弯,您能帮我吗? 编辑: 凭直觉我知道数学答案将是它们是同样随机的,但是我忍不住想,如果您将两者相乘时两次“运行随机数算法”,那么您将创建的随机性远不止是它一次。


30
“编程到接口”是什么意思?
我已经看过几次这个问题了,我不清楚它是什么意思。您何时以及为什么要这样做? 我知道接口的作用,但是我不清楚这一点,这让我觉得我错过了正确使用它们的机会。 如果要这样做,是否只是这样: IInterface classRef = new ObjectWhatever() 您可以使用任何实现的类IInterface吗?您什么时候需要这样做?我唯一能想到的是,如果您有一个方法,并且不确定要实现的对象将传递什么对象IInterface。我不认为您需要多久这样做一次。 另外,如何编写一个方法来接受实现接口的对象?那可能吗?

30
什么是鲜为人知但有用的数据结构?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 周围有一些确实有用的数据结构,但大多数程序员都不知道。他们是哪一个? 每个人都知道链表,二进制树和哈希,但是例如跳过列表和Bloom过滤器呢。我想了解更多不是很常见的数据结构,但是值得一读,因为它们依赖于出色的构想并丰富了程序员的工具箱。 PS:我对诸如跳舞链接之类的技术也很感兴趣,这些技术巧妙地利用了通用数据结构的属性。 编辑:请尝试包含指向更详细描述数据结构的页面的链接。另外,尝试添加一些关于数据结构为何如此酷的词(如JonasKölker所指出的)。另外,尝试为每个答案提供一种数据结构。这将使更好的数据结构仅凭其投票就可以浮动到顶部。


23
数据库,表和列的命名约定?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 每当我设计数据库时,我总是想知道是否有最佳方式在数据库中命名项目。我经常问自己以下问题: 表名应该是复数吗? 列名应为单数吗? 我应该为表格或列添加前缀吗? 我在命名项目时应该使用大小写吗? 是否有建议的指南来命名数据库中的项目?

30
一个函数应该只有一个return语句吗?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 是否有充分的理由说明为什么在函数中仅包含一个return语句是一种更好的做法? 还是在逻辑上正确地从函数中返回就可以,这意味着函数中可能有很多return语句?

5
如何确定pi的计算是否正确?
我正在尝试各种方法来实现一个程序,该程序顺序给出pi的数字。我尝试了泰勒级数方法,但是事实证明,它收敛非常慢(当我将我的结果与在线值进行比较之后会比较)。无论如何,我正在尝试更好的算法。 因此,在编写程序时,就像所有算法一样,我陷入了一个问题:我怎么知道n我计算出的数字是准确的?

30
接口与基类
什么时候应该使用接口,什么时候应该使用基类? 如果我不想实际定义方法的基本实现,是否应该始终是一个接口? 如果我有猫狗班。为什么我要实现IPet而不是PetBase?我可以理解具有用于ISheds或IBarks(IMakesNoise?)的接口,因为可以将它们逐个放置在每个宠物上,但是我不知道该为通用Pet使用哪个接口。



30
参数和参数有什么区别?
在口头上谈论方法时,我永远不确定是否要使用参数,参数或其他字词。无论哪种方式,其他人都知道我的意思,但是什么是正确的,以及这些术语的历史呢? 我是C#程序员,但我也想知道人们是否在不同的语言中使用了不同的术语。 出于记录,我是自学成才,没有计算机科学背景。(请不要告诉我阅读Code Complete,因为我是为了其他尚未拥有Steve McConnell出色著作的人而受益。) 摘要 普遍的共识似乎是,在团队环境中可以互换使用这些术语是可以的。除非您正在定义精确的术语;那么您也可以使用“ 形式参数/参数”和“ 实际参数/参数”来消除歧义。

11
伪造,嘲笑和存根之间有什么区别?
我知道我如何使用这些术语,但是我想知道是否存在用于单元测试的伪造,模拟和存根的定义?您如何为测试定义这些?描述您可能会使用每种情况的情况。 这是我的用法: Fake:实现接口但包含固定数据且没有逻辑的类。只需根据实现返回“好”或“坏”数据。 Mock:实现接口的类,并允许动态设置要返回的值/从特定方法抛出的异常,并提供检查是否已调用特定方法的能力。 存根(Stub):类似于模拟类,不同之处在于它不提供验证方法是否已被调用的能力。 模拟和存根可以手动生成,也可以由模拟框架生成。伪类是手工生成的。我主要使用模拟来验证我的类和依赖类之间的交互。一旦验证了交互作用并测试了代码中的替代路径,便会使用存根。我主要使用伪造的类来抽象出数据依赖关系,或者当模拟/存根过于繁琐而无法每次设置时。

30
学习编写编译器[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 首选语言:C / C ++,Java和Ruby。 我正在寻找一些有用的书籍/教程,以了解如何仅出于教育目的编写自己的编译器。我最熟悉C / C ++,Java和Ruby,因此我更喜欢涉及这三种资源之一的资源,但是任何好的资源都是可以接受的。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.