软件工程

针对在系统开发生命周期中工作的专业人士,学者和学生的问答

6
为什么xUnit框架不允许测试并行运行?
您是否知道任何可以并行运行测试以利用当今计算机中的多个内核的xUnit框架? 如果没有(或很少)这样做,也许是有原因的……测试通常这么快,以至于人们根本不认为需要将它们并行化吗? 是否有更深层次的东西可以排除(至少部分)测试分布在多个线程上?

5
何时进行代码审查
我们最近进入了Scrum流程,并且正在sprint中处理任务和用户故事。我们希望经常进行代码审查,以减轻他们的负担。我们正在考虑在用户故事级别上执行这些操作,但是不确定如何分支我们的代码来解决此问题。 我们使用的是VS和TFS 2010,我们由6人组成。 我们目前为功能分支,但正在努力更改为Scrum分支。 我们目前不使用架子集,如果有其他可用的技术,我们也不想真正实现。 您如何建议我们针对每个用户案例实施代码审查?

4
为什么Facebook在PHP旁边使用C ++?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 导致Facebook需要在PHP之外使用C ++的主要原因是什么?我想知道我是否要创建一个有很多访问者的网站,我也需要使用C ++吗?

9
您工作了几个小时没有得到报酬吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 7年前关闭。 因此,我正在阅读有关应用程序与游戏开发的先前文章: 如果您选择游戏开发与应用程序开发,您会选择哪个? 这使我进入了这个网站:EA:人类的故事 其中很多都谈到了开发人员每周工作约85个小时,而没有加班费或其他任何事情。刚获得40小时的报酬。对于大多数软件公司来说这是正常的吗?我的意思是,我在哪里工作,我只是入门级人员,但我会加班,任何超过40小时的时间都被认为是这个时间。但是,这让我开始想“我该死”。我的空闲时间对我很重要。但是,在大多数软件公司中这种情况司空见惯吗?还是对某些类型(游戏开发等)稀有? 因为这让我很害怕! 就像我知道必须为项目投入一些额外的时间...但就像80!这是荒谬的。

7
游戏编程:C#还是C ++?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我已经决定我真正想要做的是游戏编程。因此,问题是,作为一个想学习自学编程的18岁孩子,C#和C ++之间最适合的编程语言是什么?(我应该声明我不关心Unix,因为我相信Windows仍将是使用最多的OS) 我知道C ++的基础知识,但不了解C#。我知道C ++有更多的教程指南,dll和类似的东西,而C#则没有,但是学习和使用一个人来开发程序要容易得多,但是即使程序被混淆,我也已经读过很容易找到它的来源。 好吧,我有点想先关注基础知识,我必须说我偏爱C ++,只是因为它对我来说更合适,但我必须考虑我一个人工作。因此,即使我喜欢它,也不是最好的选择。 我真的不确定要去哪一个,我已经在各种网站上阅读了很多线程,而且看来C#比C ++越来越流行。但是,是的,我也指定我要进行游戏编程。因此,我需要知道一些不仅是“由于C.没有C ++,因为.net内存处理而使C#更容易”的更好的要点,因为我无法找到它。




9
Prolog专业有用吗?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 多年前,我在大学学习了Prolog。在我的职业生涯中,我从未需要使用Prolog。我错过了一些特别的东西吗? 据我所知,与著名的编程语言相比,Prolog需要完全不同的思维方式。 Prolog是否真的曾经被用来实现某些专业上有用的东西?

13
C编译器的第一个版本运行了数十分钟,并且需要在阶段之间交换软盘,这是真的吗?
受到这个问题的启发。 我听说一些非常早期的个人计算机C编译器版本(我猜是在1980年左右)驻留在两个或三个软盘上,因此要编译程序,必须先用“ first pass”插入磁盘,然后运行“第一遍”,然后通过“第二遍”切换到磁盘,运行该磁盘,然后对“第三遍”执行相同的操作。每遍都花了几十分钟,所以即使出现错字,开发人员也浪费了很多时间。 这个说法有多现实?实际数字和细节是什么?
15 history  compiler 

10
在慢速编译环境中进行编码的最佳方法是什么
我曾经以TDD风格使用C#进行编码-编写/或更改一小段代码,在10秒内重新编译整个解决方案,然后重新运行测试。简单... 几年来,这种开发方法对我一直非常有效,直到去年我不得不回到C ++编码的那一刻起,我才真正感觉到我的生产率从此大大降低了。C ++作为一种语言不是问题-我有很多C ++开发人员的经验……但是过去。 对于一个小型项目,我的工作效率仍然可以,但是当项目规模增加时,情况会变得更糟,一旦编译时间达到10分钟以上,它就会变得非常糟糕。如果发现错误,则必须再次开始编译,等等。这简直令人沮丧。 因此,我得出的结论是:(像以前一样)一小部分是不可接受的-任何建议,当我手动检查代码时(不依赖快速的C#编译器)如何使自己养成一个小时左右的古老编码习惯,并且仅在几个小时内重新编译/重新运行一次单元测试。 使用C#和TDD,以进化的方式编写代码非常容易-经过十几次迭代之后,我开始的任何废话都以良好的代码结尾,但对我而言不再起作用(在缓慢的编译中)环境)。

1
Microsoft在发布.NET之前工作了多长时间?
借助整个CLI,CTS,CLS等,他们不仅发布了功能强大的平台/基础架构,而且还发布了描述它的所有规范等。它支持潜在的无数语言,平台等。这看起来很疯狂。即使对于像Microsoft这样的庞然大物也要付出大量的工作-特别是因为事实证明,他们做得很好。 他们在发布此版本(.NET 1.0)之前花了多长时间?


4
推进代码审查和单元测试实践
作为一个团队领导来管理一组没有代码审查和单元测试经验(并且不需要)的开发人员,您如何提高代码审查和单元测试的实践水平? 您将如何创建一种方法,以使代码审查和单元测试自然地适合开发人员的流程? 这两个方面的阻力之一是“我们总是紧迫日期,因此没有时间进行代码审查和单元测试”。 代码审查的另一个阻力是我们目前不知道该怎么做。我们应该在每次入住时检查代码,还是在指定日期检查代码?

3
纯虚拟或抽象,名称是什么?
在讨论有关Stack Overflow上的虚拟功能的问题时,我想知道是否对纯(抽象)和非纯虚拟功能进行了正式命名。 我始终依靠Wikipedia来获取信息,其中指出纯虚函数和非纯虚函数是通用术语。不幸的是,本文没有使用来源或引用来进行备份。 引用乔恩·斯凯特(Jon Skeet)对我的答复的回答,即使用纯净和非纯净的通用术语: @Steven:嗯...可能,但是我以前只在C ++的上下文中看过它。我怀疑任何谈论他们的人都有C ++背景:) 这些术语是否起源于C ++,或者它们是首先以较早的语言定义或实现的,并且它们是“官方”科学术语吗? 更新: 弗兰克·希亚尔(Frank Shearar)有用地提供了指向SIMULA 67 Common Base Language(1970)的描述的链接。该语言似乎是第一种将OO关键字引入为class,object以及虚拟的形式概念的语言。它没有定义纯/非纯或抽象,但确实支持这些概念。 谁定义的?

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.