软件工程

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

2
JavaDoc中不推荐使用vs.
在JavaDoc中X509Certificate getSubjectDN()指出: Denigrated,由getSubjectX500Principal()代替。 我习惯在for方法中看到已弃用,该方法不再使用,但不可贬低。我发现了一个有关此特殊情况的错误报告,该错误报告已通过注释关闭: 这不是错误。“不推荐使用”仅在严重情况下使用。 当我们使用不推荐使用的方法时,建议采取的一般措施是停止使用该方法。 那么,将方法标记为“已贬义”时,建议采取的措施是什么?


3
对客户端和服务器使用相同的语言有多重要?
我一直在评估一个移动项目的体系结构解决方案,该项目除了本机应用程序外还将具有Web服务/应用程序,并且一直在研究各种库,框架和堆栈,例如Meteor,这是一种“开放式堆栈封装框架” ,与Node.js紧密绑定。 关于在客户端和服务器端使用相同语言的好处有很多讨论,但我没有得到。我可以理解,如果您想在客户端和服务器上都镜像Web应用程序的整个状态,但是却在努力寻找其他胜利...工作流效率? 我试图理解为什么将客户端/服务器语言奇偶校验视为圣杯。为什么客户端/服务器语言奇偶性在软件开发中很重要?

3
我应该在单元测试和集成测试之间划清界限吗?它们应该分开吗?
我有一个正在研究的小型MVC框架。它的代码库肯定不大,但是不再仅仅是几个类。我最终决定尝试一下并开始为此编写测试(是的,我知道我应该一直这样做,但是到目前为止,它的API还是非常不稳定的) 无论如何,我的计划是使其变得非常容易测试,包括集成测试。集成测试示例将遵循以下原则: 伪造的HTTP请求对象-> MVC框架-> HTTP响应对象->检查响应是否正确 因为这一切都可以在没有任何状态或特殊工具(浏览器自动化等)的情况下完成,所以实际上我可以使用常规的单元测试框架轻松地做到这一点(我使用NUnit)。 现在是个大问题。我应该在单元测试和集成测试之间划清界限吗?我是否应该一次(尽可能多地)仅通过单元测试来测试一门课程?另外,是否应该将集成测试与单元测试项目放在同一测试项目中?


13
处理大括号汤
我已经在C#和VB.NET中编程了多年,但主要是在VB中编程。我正在向C#转变职业生涯,总的来说,我更喜欢C#。 我遇到的一个问题是大括号汤。在VB中,每个结构关键字都有一个匹配的close关键字,例如: Namespace ... Class ... Function ... For ... Using ... If ... ... End If If ... ... End If End Using Next End Function End Class End Namespace 用C#编写的同一代码最终很难阅读: namespace ... { class ... { function ... { for ... { using ... { if ... { …

1
是否要求归因GPL兼容?
可以根据以下子句进行代码许可: Redistribution of this work, with or without modification, is permitted if Bob Joe is attributed as the original author or licensor of this work, but not in any way that suggests that Bob Joe endorses you or your use of the work. 是否可以在使用GPL的项目中使用,或者是否使其与GPL不兼容?
11 licensing  gpl 

1
为什么Scala要求函数具有显式的返回类型?
我最近开始学习在Scala编程,到目前为止,它很有趣。我真的很喜欢在另一个函数中声明函数的功能,这似乎很直观。 关于Scala的一个烦恼是,Scala在其函数中需要显式的返回类型。而且我觉得这阻碍了语言的表达能力。同样,很难用该要求进行编程。也许是因为我来自Javascript和Ruby舒适区。但是对于像Scala这样在应用程序中具有成千上万个连接函数的语言,我无法想象如何头脑风暴,确切地讲出我正在编写的特定函数应该在递归之后返回的类型。 对于函数的显式返回类型声明的这种要求,对于像Java和C ++这样的语言,请不要打扰我。Java和C ++中的递归发生时,通常最多要处理2到3个函数。从来没有像Scala这样将多个功能链接在一起。 因此,我想我想知道是否有充分的理由解释为什么Scala应该要求具有显式返回类型的函数?

4
Google,Apple,IBM等公司使用什么IDE或编辑器?[关闭]
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 7年前关闭。 即使我在使用各种工具方面有相当丰富的经验,但仍然不确定我是否愿意使用IDE或简单的代码编辑器。 我经历过的大多数IDE都是用Java(例如Eclipse)编写的,这使它们变慢且笨重。它们的优点是它提供了许多工具。 另一方面,编辑器通常非常快。它们也可以扩展为与IDE更相似,但通常我不这样做。但是,有Sublime Text 2,它内置了一些基本的代码完成功能。 我的问题是,大多数企业公司(如Google,Apple,IBM等)(Microsoft除外,因为它们拥有AMAZING IDE(我假设它是由MS开发人员使用的))是否迫使他们的员工使用IDE,以及是否将外部编辑器与普通编辑器配合使用?认为不专业? PS没说过像Android开发这样的情况,几乎不可能在没有IDE的情况下工作。

12
如何向只用Fortran 77编码的人解释面向对象的编程?
我母亲在Fortran上完成了大学论文,现在(十多年后)需要学习c ++进行流体模拟。她能够理解所有过程编程,但是无论我多么努力向她解释对象,它都不会停留。(我在Java上做了很多工作,所以我知道对象是如何工作的)我想我可能会以太高层次的方式来解释它,所以对于那些从不与它们一起工作并且成长的人来说,这真的没有任何意义。在纯粹的程序化编程时代。 有什么简单的方法可以向她解释,以帮助她理解?

4
C ++标识符中通用字符名称的用途是什么
C ++标准(我在新的标准中注意到了,但是C ++ 03中已经存在)指定通用字符名称,用Unicode代码点/ 表示为\uNNNN和\UNNNNNNNN并表示这些字符。这对于字符串文字很有用,尤其是因为还明确定义了UTF-8,UTF-16和UCS-4字符串文字。但是,标识符中也允许使用通用字符文字。其背后的动机是什么?NNNNNNNNNNNN 语法显然是完全不可读的,链接器的标识符可能经过修饰,而且好像没有任何标准函数可以按名称检索符号一样。那么,为什么有人实际使用带有通用字符文字的标识符呢? 编辑:由于它实际上已经存在于C ++ 03中,因此另一个问题是您是否实际看到了使用它的代码?
11 c++  c++11 

3
跨平台桌面编程:C ++与Python
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 好了,首先,我有作为业余Obj-C / Cocoa和Ruby w / Rails程序员的经验。这些功能很棒,但是它们对于编写跨平台应用程序并没有真正的帮助(希望GNUStep有一天可以足够完整,对于第一个成为多平台的应用程序,但是今天不是今天)。 据我所知,C ++非常强大,但它却是一个庞大,丑陋的庞然大物,需要花费半年甚至更长的时间才能掌握。我还读到,由于内存管理完全是手动的,因此您不仅可以轻松地用脚开枪,还可以用它把整个腿炸掉。显然,这一切都令人生畏。这是正确的吗? Python似乎提供了C ++的大部分功能,并且以速度为代价更容易上手。这个牺牲有多大?它有意义还是可以忽略? 在合理的时间内,哪一个让我编写快速,稳定,高度可靠的应用程序? 另外,将Qt用于您的UI还是为每个平台维护单独的本机前端会更好吗? 编辑:为了更加清晰,我想编写两种类型的应用程序:一种是极其友好和方便的数据库前端,另一种无疑是稍后会出现的3D世界编辑器。

8
变量如何引入状态?
我正在阅读“ C ++编码标准”,并且此行在其中: 变量会引入状态,因此您必须处理尽可能少的状态,并且生存期应尽可能短。 最终变异的所有东西都不会操纵状态吗?什么是你应该有应对尽可能少的状态尽可能的意思吗? 在不纯正的语言(例如C ++)中,状态管理不是您真正在做什么吗?除了限制可变寿命之外,还有什么其他方法可以处理尽可能少的状态?

2
Facebook的广告出价系统如何运作
当您在Facebook上制作广告时,系统会为您提供“ 建议的出价 ”范围(例如$ 0.90-$ 2.15 USD)。根据此页面: 建议的出价范围可帮助您选择最高出价,从而使您的广告获得成功。它是基于有多少其他广告商竞相向与您相同的受众群体展示广告。 我有兴趣了解引擎盖下实际发生的情况(技术上)。 假设用户登录了Facebook。在服务器端,它处理了用户浏览器发送的HTTP请求(作为登录的一部分),服务器需要确定向用户显示哪个广告。 我认为这是“招标”系统起作用的地方?假设基于此用户的人口统计数据,以及根据几个竞争广告客户设计其广告系列所针对的受众群体,让我们假设Facebook看到有20种可能返回的不同广告。 这个出价系统如何帮助Facebook确定返回给客户端的20个广告中的哪个?我猜想“出价更高”的广告商会优先于“出价更低”的广告商。但是什么时候招标呢?广告客户需要多久重新竞标一次?出价约束多长时间? 一旦我了解了广告背后的这些与用法相关的概念,后端就会在以下哪种“选择策略”之间进行使用,这将是显而易见的: 轮循 优先轮循 随机(可疑) 基于历史 基于MVP 感谢能够帮助我指出正确方向并解释这些建议的出价系统及其工作原理的任何人。

5
其他开发人员是否觉得随着他们变得更好,就很难找到工作了?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 7年前关闭。 当我刚开始时,似乎有更好的时间来接受采访并通过。但是现在,我变得更有经验了,我发现找到工作越来越难了。那里的其他开发人员也有同样的感觉吗? 我举一个例子。上星期三我接受了采访。这是一家很小的初创公司,只有一名工程师和首席执行官。他们从俄亥俄州飞来(他们是基于科幻小说的)。当我到达那里时,他们让我给他们写了一个链接缩短器,这花了我大约10分钟的时间。我本来应该整天在那里工作。当我提早完成时,面试官似乎有些震惊。在那之后,我们开始交谈,我问他他们用来存储数据的方式。他告诉我蒙哥。我问他为什么决定使用mongo。然后,他结结巴巴地嘟his着答案,基本上可以归结为“我们正在使用它,因为Mongo是一种流行的数据库技术,我们不想被排除在外”,我发现这是最常见的原因人们最近使用NoSQL。面试官迅速结束了面试,几乎把我推开了门。本来我应该和首席执行官共进午餐,但是我在有机会之前就把我踢了出去。中间人不是卑鄙或粗鲁的(我也不是)。 回到俄亥俄州后,我收到他们的电子邮件,说“我不适合”。这种事情总在我身上发生。我开始认为“不合适”有时意味着“我们的技能水平过高”。这一切都在我的脑海中吗,还是其他经验丰富的开发人员注意到了同一件事?以前,当我以前在编码问题上苦苦挣扎时,我会与面试官一起工作,这将是一件积极的事情,而且我会被录用。但是现在我通常会跳过编码部分,面试官无话可说正在对我不利。我应该冒充编码问题吗?
11 interview 

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.