软件工程

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

5
C编译器的历史是什么?
此问题是从Stack Overflow 迁移而来的,因为可以在Software Engineering Stack Exchange上回答。 迁移 8年前。 当我们说“ Dennis Ritchie开发了C语言”时,是否表示他已经创建了一个编译器(使用“已经”开发的其他语言)来编译用C语言编写的源代码?如果是,他用来编写第一个C编译器的语言是什么?我知道编译器是一个程序,我们可以使用当前可用的C编译器为C语言创建另一个编译器。那是对的吗?
23 c  compiler 

8
向客户解释浮点精度[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 向客户解释浮点舍入问题的最佳方法是什么? 我知道 http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html 以及针对开发人员和科学家的C ++ FAQ和其他各种页面中的条目,但是是否有针对具有有限数学或科学背景的“常规”客户的网页,文章或说明?(以上参考文献对此持平)。 如果它是维护的或来自知名的和公认的机构或公司,那么情况就更好了,因为正如您中某些人可能曾经经历过的那样,要解释自己可能有些复杂。

9
重写GPL代码以更改许可证
我发现了一个GPL库(没有双重许可),正是我所需要的。不幸的是,该库上的GPL许可证与我使用的其他库的许可证不兼容。因此,我决定重写GPL库,以便可以更改许可证。 我的问题是:为了能够更改许可证,需要对库进行多大的更改?换句话说,最便宜的方法是什么?
23 licensing  gpl 

3
何时(何时不使用)Wordpress?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 3年前关闭。 为了简单起见,我的问题专门针对Wordpress,而不是所有内容管理系统,包括Joomla,Drupal,Concrete5或you-it-it。 WordPress变得越来越流行。您可以使用广泛可用的插件扩展它的功能集,或者,如果您对编程有所了解的话,可以简单地设计自己的插件。使用Wordpress构建的“大型”(阅读知名,著名或可信的)网站越来越多。对于某些示例,请查看此链接。 亚伯拉罕·马斯洛(Abraham Maslow)曾经说过:“如果您仅有的工具是锤子,那么将所有东西都当作钉子来对待是很诱人的。” 我在Wordpress开发人员社区中看到了这种趋势,尽管我很重视他们对使用Wordpress可以完成的事情的了解和建议,但恐怕问他们有关“何时使用Wordpress”的问题时,只会遇到空白。凝视着说“有一段时间您不会使用Wordpress吗?” 当您在Google搜索“何时使用wordpress”时,这一事实非常明显。如果您搜索“何时不使用wordpress”,情况确实会有所改善。 因此,我的问题是,在2011年这一年,什么标准最能帮助Web开发人员确定是否对给定项目使用Wordpress? 研究人员发现安装一百万次的WordPress插件存在“严重”缺陷 Edit1: 经过更多搜索后,我发现了关于该主题的出色文章。编辑:好吧,实际上,我在这里链接的页面已被删除,所以我也删除了链接。
23 cms  wordpress 

14
自动化的用户界面测试解决了什么问题?
我们目前正在研究自动化的用户界面测试(我们目前正在进行自动化的单元和集成测试)。 我们已经研究了Selenium和Telerik,并且由于后者的记录器更加灵活,因此选择了后者作为首选工具-我们真的不希望测试人员编写太多的代码。 但是,我试图了解整体利益。人们的看法是什么,什么样的事情行之有效,什么行不通? 我们的系统正在不断开发中,我们会定期发布(基于Web的)平台的新版本。 到目前为止,我们可以看到的主要好处是进行回归测试,尤其是在我们平台的多个客户端部署之间。 真正在寻找别人的意见。我们“认为”这是对的,但是在已经很忙的日程中,我们正在寻找更多的见解。

5
面向对象的编程范式由于反模块化和反并行性而过时了吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我已经读过CMU教授罗伯特·哈珀(Robert Harper)发表的有争议的文章《向新生学习FP》。他声称CMU将不再在入门课程中教授面向对象的编程,因为它“不适合现代CS课程”。 他声称: 面向对象的编程从入门课程中就完全消除了,因为它的本质是反模块化的和反并行的。 为什么将OOP视为反模块化和反并行的?

7
您如何阅读他人的代码?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 几乎每个高级程序员都说,阅读其他专业人员的代码非常有用。通常他们建议开源。 你读不读?如果这样做,读取代码的频率和程序是什么?而且,对于新手来说,处理SVN(一堆文件)有点困难。有什么解决方案?

11
如何为自己设置源代码控制系统?
我可以在办公室的台式机上进行编程,有时也可以在笔记本电脑上的其他房间在家中进行编程,甚至可以不在家里。我需要的是一个可以根据需要自动或按需将我的工作从一个同步到另一个的系统。 我没有家庭网络设置,尽管我想我可以做到,但是这可能是另一个委员会的问题。我已经考虑过某种可以将源代码保存在云中的系统,但是我对此并不足够了解。我需要一种免费或廉价的方式来执行此操作。 我在.NET(实际上是Windows Phone 7)中工作。

10
我不应该展示我所有的技能吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 我已经进行了很长时间的编程,并且对多种技术有深入的了解。最近,我申请了一项Web开发工作,在我的简历中,我列出了所有技能-HTML,CSS,JavaScript,jQuery,AJAX,PHP,ASP,JSP,C / C ++,ARM。除了C / C ++和ARM,我已经以专家身份展示了所有技术的技能水平。 我的许多朋友都申请了同一份工作,他们没有任何Web开发经验。他们所有人都接到了面试电话。但是我拒绝了,说我们已经收到了非常高水平的候选人的申请,而您还没有被选择升入下一级别。 这严重地激励了我。我不明白为什么当我拥有所有必需的技能并选择了所有不具备任何技能的人时,为什么我被拒绝了。我认为原因之一是,雇主可能会考虑一个人如何成为所有技术的专家。在另一次采访中,人力资源经理告诉我,令人难以置信的是,您对ASP,JSP和PHP都有很深的了解,因为每种技术我们都有不同的程序员。 这些事件使我非常不高兴,尽管我有能力胜任被拒绝的职位。为了避免这种情况,我是否应该在简历中列出所有技能?
23 resume  skills 

11
竞争对手公司盗窃了源代码
此问题是从Stack Overflow 迁移而来的,因为可以在Software Engineering Stack Exchange上回答。 迁移 8年前。 在我工作过的一些公司中,经理们在IT安全顾问上花了很多钱。主要是因为他们担心我们会被竞争对手的公司窃取源代码。但是,作为一名程序员,我认为与竞争对手的公司比较无关紧要,因为它会发现实际的源代码很有用。毕竟,只需访问我们的应用程序就足够了,而且这可以在不违反法律的情况下完成。我认为,业务人员处理的数据比源代码有用得多。 我的问题是;是否有已知的例子,其中源代码被盗并且竞争对手使用了它? 我知道一些游戏引擎(如果我没记错的话,是地震1和半条命2)的源代码被盗了,但是我看不到真的伤害了他们的业务。 (我知道,这个问题可能更适合Stackexchange上的其他论坛)
23 security 

5
代码示例和面试?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 自从我来到这里以来,我已经看到了许多问题,答案是有人断言他们永远不会使用面试过程之外编码的作品集或代码样本来判断候选人,因为这样做很可能代码已由其他人编写。我为此感到惊讶。 我的观察方式是,如果我要求某人进场并在现场解决一个简单的问题,那么我将学到的东西很少。我不在像Google这样的公司寻求工作,我可以要求某人有一天的时间。但是大量的业余爱好代码可以告诉我很多东西。 是的,存在窃的可能性,但是必须对他们进行很好的训练,才能进行长达一个小时的有关该代码的讨论。并且,在这种情况下,他们必须是非常快速的学习者,以度过三个月的试用期(在此期间,我可以无缘无故地将其摆脱,而无需另行通知)。如果他们很快成为公平的优秀程序员,我就会受骗了,但我仍然有一个好的程序员。 最后,对我们公司的成本和对candidate窃候选人的好处是很小的。 这使我开始考虑其他行业。艺术家,摄影师,设计师都在使用作品集,没有人担心那里的窃。作者将根据他自己所写的章节获得一本书的资助。在面试时,您不会要求建筑师介入并为房屋绘制设计规格。 那么,什么使我们与众不同?为什么将某人放在计算机前并让他们对数据合并或阶乘计算器进行编码如此重要,而有时却无法使用我们日常使用的工具(例如Internet),为什么如此重要?代码组合的想法有什么问题? 我真的很想知道,以防万一我可能犯了一个巨大的错误,而这还没有把我烧死。

4
为什么不赞成测试MVC视图?
我目前正在为ASP.Net MVC应用程序奠定基础,并且正在研究应该准备编写哪种单元测试。我已经在多个地方看到人们在本质上说:“不要打扰测试您的观点,没有逻辑,这是微不足道的,将被集成测试所涵盖”。 我不明白这如何成为公认的智慧。集成测试的目的与单元测试的目的完全不同。如果我中断了某些事情,我不想在半小时后的集成测试中断时就知道,我想立即知道。 示例场景: 假设我们正在与一个Customer实体一起处理标准的CRUD应用。客户有名字和地址。在每个测试级别,我都想验证客户检索逻辑是否正确获取名称和地址。 为了对存储库进行单元测试,我编写了一个集成测试来访问数据库。为了对业务规则进行单元测试,我模拟了存储库,为业务规则提供适当的数据,并验证是否返回了预期的结果。 我想做的是: 为了对UI进行单元测试,我模拟了业务规则,设置了预期的客户实例,渲染了视图,并验证视图是否包含我指定的实例的适当值。 我要做的事情: 要对存储库进行单元测试,我编写了一个集成测试,设置了适当的登录名,在数据库中创建了所需的数据,打开浏览器,导航到客户,并验证结果页面是否包含适当的内容我指定的实例的值。 我意识到上面讨论的两种情况之间存在重叠,但是关键的区别在于设置和执行测试所需的时间和精力。 如果我(或另一个开发人员)从视图中删除了地址字段,则我不想等待集成测试发现这一点。我希望在每天多次获取的单元测试中被发现并标记出来。 我感到我只是没有掌握一些关键概念。有人可以解释为什么要对MVC视图的有效性立即进行测试反馈是一件坏事吗?(或者,如果还不错,则不是获得所说反馈的预期方式)

9
为什么Java / C ++中没有幂运算符?
尽管有这样的运算符- **在Python中,我想知道为什么Java和C ++也没有。 使用运算符重载为用C ++定义的类创建一个对象很容易(而且我相信Java中也可以做到这一点),但是在谈论基本类型(例如int,double等)时,您必须使用库功能类似Math.power(通常必须将两者都强制转换为两倍)。 那么-为什么不为原始类型定义这样的运算符?
23 java  c++  python 


13
“只要有效”是规范吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 看到我最近的问题: 编程是在竞逐低谷时的一种职业吗? 我的最后一家商店没有流程。敏捷本质上意味着他们根本没有计划如何开发或管理他们的项目。这意味着“嘿,这是大量的工作。请在两周内完成。我们节奏快且敏捷。” 他们发布了他们知道有问题的东西。他们不在乎事情是如何写的。没有代码审查-尽管有几个开发人员。他们发布了他们知道是错误的软件。 在我之前的工作中,人们只要有工作的态度就可以了,这很好。当我要求重写我在本质上探索该规范时编写的某些代码时,他们拒绝了。我想重写代码,因为代码在多个地方重复了,没有封装,并且人们花了很长时间来对其进行更改。 所以从本质上讲,我的印象是:编程归结为以下几点: 阅读有关最新工具/技术的书 基于此,将代码丢在一起,避免编写任何单独的代码,因为公司不想“保留自定义代码” 显示它,然后继续进行下一个操作,“只要它有效”。 我一直告诉自己,下一份工作我要去找一家更好的商店。它永远不会发生。如果是这样,那么我会感觉卡住。技术总是在变化;如果这里唯一的专业发展是阅读最新的MS Press技术书,那么您在10年的时间里已经建立了什么,但是对各种技术都有肤浅的认识?我担心: 拥有专业水准的最佳方法 在这种情况下如何发展有意义的知识和经验

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.