软件工程

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

6
值得在我的简历中列出测试或自学存储库吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 我有一个GitHub存储库,上面有我学到的玩具程序。例如,当我阅读有关算法或数据结构的时,便写下了它的快速实现,以确保它可以工作并理解。 有时我会解决算法和数据结构难题,并将其推送到存储库中。 该存储库值得在我的简历上链接,还是实际上对我被录用的机会有害?

7
如果更改超过80%,是否应该在课程文件中更改作者姓名?
我正在重构现有的Java测试类集以进行自动UI测试。有时我最终会在类文件中进行大量更改或完全对其进行修改。这使我认为,当我重写整个课程时,是否应该在注释部分中更改作者姓名? 我在贪婪吗?还是让我看到我的名字并在有疑问的情况下问我会有用吗?

7
我应该使用我最熟悉的语言还是公司的“标准”
我将为我的特定工厂开发一个Intranet站点,而我们用于Web开发的公司标准是IIS + ASP.Net + VB.Net + Microsoft SQL Server(请注意,我们有大约10多个工厂)。Intranet站点仅由我的工厂使用,并且我是唯一支持它的站点。我精通LAMP设置,并且与ASP.Net相比,使用PHP可以更快地进行开发和解决问题。尽管公司的“标准”是ASP.Net/VB.Net,但公司整体上的大部分工作是购买第三方软件(通常基于Java),而且,我的意思是很少有人公司甚至知道VB6,更不用说ASP.Net/VB.Net。 话虽这么说,是违反公司标准并选择我可以更好地支持的设置,还是最好选择我可以离开时公司可以更好地支持的设置,即使目前还没有人在公司反正可以支持自己的标准? 在我的个人情况下需要考虑的其他一些因素: 同样,这仅适用于我的工厂,除非我离开公司,否则我将是唯一会支持它的人,然后我的替代者将为它提供支持。公司中没有其他人了。 无论如何,该公司很少对其标准进行开发。 现有公司中几乎没有任何公司使用其标准。 如果选择公司标准,则必须使用Microsoft SQL的Express版本和Windows 7 OS。根据我的阅读,Express版本可以用于商业用途,但是数据库大小有限。

10
在评估候选人时,Brainbench得分的相关性如何?[关闭]
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我已经看到许多公司在评估候选人时使用诸如Brainbench之类的认证服务。大多数情况下,他们将其用作面试之前的辅助屏幕或用于在候选人之间进行选择的验证。 您对Brainbench分数有何经验?您是否亲自尝试过测试,如果是,您是否认为分数足够有意义,可以用作招聘过程的一部分? 选择困难。 共识似乎是BB认证不是很好的认证。最大的争论是围绕这样一个事实,即有些问题过于精确,无法形成良好的评估。这种观点可能会有所改变,但仍然如此,仅仅依靠评估的结果来把握某人的未来是不负责任的。 话虽如此,但我仍然认为可以适当地使用它们,以在候选人的专业水平上获得更多的客观知识,前提是该测试是在受控环境中进行的,以确保所有人都享有平等的地位。 因此,我想出了最能反映这种观点的答案,同时牢记评估技能和知识需要花费数年的时间,仍然只有一个小时长的50欧元的多项选择题。要与一粒盐一起服用! 简而言之,测试是有价值的,但是是否值得花钱是另一个争论。 感谢您的宝贵时间。
18 skills  hiring 

6
自我记录代码与Javadocs?
最近,我一直在努力重构当前正在处理的部分代码库-不仅可以自己更好地理解它,而且还可以使其他从事代码工作的人更容易理解。 我倾向于认为自记录代码很好。我只是认为它更干净,并且如果代码能说明一切,那 ... 很好。 另一方面,我们有诸如javadocs之类的文档。我也喜欢这个,但是这里的评论(当然还有一般的评论)也有过时的风险。但是,如果它们是最新的,那么理解复杂的算法就非常有用。 最佳做法是什么?您如何在自我说明代码和javadocs之间划清界限?

7
关于UML,需要了解哪些基本知识?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我希望我对程序设计和行为的涂鸦变得更加精简,并与其他开发人员有共同的语言。 我查看了UML,从原则上讲,这似乎是我想要的东西,但这似乎有些过分。我在网上找到的信息似乎也很and肿且学术性强。 我如何以通俗易懂的方式理解UML,足以向同事解释?在基础层面上了解UML的规范资源是什么?
18 design  uml 

13
我如何激发工程师积极进行电话采访[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 7年前关闭。 自去年以来,我们的(中型)公司(拥有150名员工)见证了可观的增长,因此,我们一直在进行大量采访,以雇用越来越多的工程师来启动新项目。 首先,以下是我们的采访过程 人力资源部筛选简历 电话技术面试(由高级工程师进行) 最终技术+人力资源面试(由团队负责人/ PM进行) 经过分析,我们发现电话面试并没有真正有效,因此在最终面试中我们找不到足够的工程师。我的分析表明,工程师不会将面试视为重要/严肃的活动,因为面试是内部的且非可负担的。我还看到工程师认为带有“采访者”(至少电话采访者)的标签并不真正有声望。我们公司中确实有一组经验丰富的工程师,他们可以非常有效地接受任何采访,但是由于电话采访的数量很大,因此该池不足。因此,我们也尝试使用其他工程师。 可以采取什么措施来激发工程师认真而积极地进行电话采访(而不是将其视为平凡的工作)? [Update-2011 / 12/28] 感谢您分享宝贵的意见。它确实帮助我从各种不同角度看问题。我也和几个同事一起讨论问题,我个人觉得没有一个解决问题的灵丹妙药。我将需要将招聘过程作为一个整体来考虑,并计划改善其中的不同领域/阶段。
18 interview 

3
复杂性和可及性之间是否存在关联?
我最近在uni上研究了循环复杂度(McCabe)和软件的可达性。今天,我的讲师说这两个指标之间没有关联,但事实确实如此吗? 我认为肯定会有一定的相关性,因为较不复杂的程序(从我们看过的很少的程序中)在可访问性方面似乎有“更好”的结果。 有谁知道尝试同时查看这两个指标的情况,如果没有,那么对于找到大量程序的复杂性和可访问性而言,在哪里找到数据的好地方呢?

6
在哪里可以找到良好用户界面的灵感?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 6年前关闭。 关于为当前正在升级的桌面应用程序设计主屏幕界面,我有一个想法。当我第一次开发该程序时,屏幕分辨率为640 X480。今天有多种屏幕分辨率。 在哪里可以找到有关桌面应用程序主屏幕布局良好的想法?

6
为什么Java不允许像C ++中那样使用标头
我有一个问题,除了以下不符合我要求的答案外,我没有找到答案: “因为詹姆斯·高斯林不想” 我知道Java可以有接口(只有纯虚函数,没有属性),但这与类定义不完全一样。
18 java 

10
为什么不使用错误一词代替异常呢?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 如果我们将异常称为错误,那么为什么不首先将其称为错误而不是异常呢? 如果在代码中将其称为异常,则在发生时将其称为错误。那么,为什么不首先将其称为错误? 感谢您的任何回答或评论。

6
使用多个数据库/服务器与数据进行交互
到目前为止,我必须处理的所有项目都只需要在单个服务器上使用一个数据库。我有兴趣了解更多有关需要扩展的项目如何迁移到多个数据库和/或服务器以帮助管理负载的信息。我知道High Scalability,但是我对一些代码示例或其他资源特别感兴趣,可以从中阅读更多有关该主题的信息。 例如: 如何在多个数据库的两个表之间构造联接?(这里的代码示例会有所帮助)。 是否有用于跟踪哪个数据库中的表的特殊策略? 应用程序代码是否需要知道一个或多个数据库分布在多个服务器上?如果不是,则在什么级别过滤请求? 什么时候可以超越1数据库/ 1服务器设置?需要这样做有多普遍?
18 php  sql 

5
组织我们的单元测试的最佳方法是什么
这些年来,我们已经为主要程序建立了大量的单元测试。几千。问题在于,由于测试太多,我们没有明确的想法。这是一个问题,因为我们不知道测试的弱点(或重复的地方)。 我们的应用程序是一个报告引擎。因此,您可以有一个模板用于测试解析(我们是否读取了所有表属性),合并数据(是否在合并中保留了正确的表属性),格式化了最终页面(表格是否正确放置在页面上? )和/或输出格式(创建的DOCX文件正确)。 除此之外,我们需要测试。在表格单元格周围填充(我们使用Word,Excel和PowerPoint进行报表设计)。我们必须测试跨分页符的填充情况,对于单元格内的表,垂直合并的单元格,水平合并的单元格,垂直和水平合并的单元格(其中包含一个表,内部表中的垂直和水平合并的单元格),该表跨页中断。 那么该测试属于哪一类?表格填充,分页符,嵌套单元格,垂直合并的单元格,水平合并的单元格或其他内容? 以及我们如何记录这些类别,命名单元测试等? 更新:许多人建议使用覆盖率工具来验证我们是否具有完整覆盖率。不幸的是,这在我们的案例中用途有限,因为这些错误往往是由于特定的组合所致,因此已经对所有代码进行了测试,但没有进行组合。 例如,昨天有一个客户在其模板(Word文档)的forEach循环的末尾开始了Word书签,并在下一个forEach循环的末尾结束了它。所有这些都使用了针对其进行了单元测试的代码,但是我们没有想到将模板扩展为书签的组合从开始开始25次,然后结束10次(两个forEach循环具有不同的行数)。

9
软件错误的定义。暴雪娱乐公司坚称我的“错误”根本不是错误。对吗 [关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 根据Wikipepdia, 软件错误是用于描述计算机程序或系统中的错误,缺陷,错误,故障或错误的通用术语,该错误,缺陷,错误,故障或错误会导致产生错误或意外的结果,或导致其行为异常。 最近,我在《星际争霸2》中发现了一个“错误”,该错误会产生意外的结果:http : //eu.battle.net/sc2/en/forum/topic/2868627470 问题是,如果我长时间保持StarCraft 2最小化,则游戏不会断开连接或产生任何形式的超时。但是,它确实会在第一次战斗后断开连接,有时还会丢失游戏数据(比赛统计信息)。 不幸的是,据暴雪说: 游戏的设计不能让它保持如此长时间的最小化。(暴雪)不能将此类行为视为错误,因为《星际争霸2》并非要在数小时内最小化。 那么,我的“错误”真的是错误吗?

10
为什么仍发布带有已知错误的软件?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 似乎在大型项目中,该软件经常仍会与充满错误的错误跟踪器一起发布。现在我可以理解功能请求了,但是好几次我仍然看到大量错误仍未解决,未审查或尚未完成,但仍然推出了一个版本。 为什么?为什么要发布一个开源项目或一个通常带有已知错误的项目?他们为什么不等到错误跟踪器打开了0个错误?
18 bug 

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.