软件工程

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

6
对于Web开发,我不太了解“后端/服务器端”吗?
在Web开发世界中,后端/服务器端程序员到底要做什么?我想我不太了解整个概念。 我已经完成了HTML / CSS布局和网站设计以及PHP的一点点SQL(仍在增强我的技能,对我来说这更多是一个附带项目)。我也做了少量的JavaScript / JQuery。 但是我不理解“后端”工作,例如脚本语言(Rails / Python / etc)等。您究竟对他们“做什么”?

10
}后代码块末尾的“ //…”注释-好还是坏?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我经常看到这样的评论: function foo() { ... } // foo while (...) { ... } // while if (...) { ... } // if 有时甚至 if (condition) { ... } // if (condition) 我从不了解这种做法,因此也从未应用过。如果您的代码很长,以至于您需要知道结尾}是什么,那么也许您应该考虑将其拆分为单独的函数。而且,大多数开发人员工具都可以跳转到相应的括号。最后,对我来说,最后一个明显违反了DRY原则;如果您更改条件,则必须记住也要更改注释(否则可能会使维护者甚至您变得混乱)。 那么人们为什么要使用它呢?我们应该使用它,还是不好的做法?

2
推荐的代码审查流程
我们通常在那时使用Perforce和SmartBear的Code Collaborator,Big Corp现在我们还将在某些项目中使用Mercurial。 Code Collaborator支持Mercurial(我们使用的是版本5),我正在尝试确定最佳时间(在提交/推送到服务器期间)是最佳/有效的代码审查时间。 谢谢

17
我为什么要写一个提交消息?
我为什么要写一个提交消息?我不想,而且我认为它每次都很愚蠢。 我使用的GUI前端将不具名,它将迫使您执行此操作。即使他们在命令行上使用VCS,我每次都会听到其他人在这样做。 如果我每天提交几次,但是还没有完成功能,那我在写什么呢?我只有在多次提交后才写一条消息,我觉得是时候使用微型标签了,还是当我做一个实际的标签时。 我是对的还是我错过了什么?我也在使用分布式系统

14
编程语言的性能降低真的是一件坏事吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 这是我的看法。 有机器码,这是计算机运行某件事所需要的全部。计算机不在乎编程语言。对他们来说,机器代码来自Perl,Python还是PHP都无关紧要。编程语言不适用于计算机。他们为程序员服务。 一些编程语言的运行速度比其他语言慢,但这不一定是因为它们有问题。在许多情况下,这是因为它们可以执行程序员原本必须要做的更多工作(即内存管理),并且通过执行这些事情,他们在应做的工作中会更好-为程序员服务。 那么,编程语言的性能降低真的是一件坏事吗?

21
您如何记住下次要在代码中继续的位置?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 当您中断某些代码的工作时(是因为您必须进行其他工作或去度假,或者仅仅是因为一天结束),一旦关闭该Visual Studio项目,您记住的首选方式是当您再次开始处理该代码时,下一步要做什么。 您设置Visual Studio书签还是写下类似的内容// TODO: continue here next time?也许您有一个特殊的标签,例如// NEXT:?您在显示器上贴了便签吗?您使用我应该知道的很棒的工具还是Visual Studio插件? 您是否有任何个人技巧可以帮助您在代码中找到上次使用代码的地方?


3
在编程社区中,是否会在工作场所软件中添加奖励积分或游戏功能?
因此,我在工作中的职责之一就是建立一个内部工具,以帮助工人输入所有信息。这是一个企业应用程序,类似于Windows表单数据库工具。 因此,这与开发Word + Excel组合应用程序没什么不同,但是该工作组中的普通人是20-40岁的女性或随意聊天的男性类型。另外,我知道所有这些人每天都与Facebook紧密联系。 如果我将新界面的样式设置为类似于Facebook,那将是多么糟糕。当人们填写不同类型的表格并像游戏一样基本相互竞争时,他们可以获得奖励积分和东西。当人们完成其中的一项后,它将被张贴在墙上,每个人都可以像在Facebook中一样评论/喜欢这些内容。就像他们在做同行评审一样有趣。 我想像中的回报是巨大的。这些人沉迷于Facebook和Facebook游戏,由于他们努力竞争并赢得积分和成就,因此生产力将提高。 这将是通过“通过让他们给他们一个游戏来使他们更加努力地工作”来利用人们的优势,还是被视为可以改善工作中幸福感的东西?

1
MIT和Boost开源许可证之间的根本区别是什么?
MIT开源许可证之间的根本区别是什么: 特此免费授予获得该软件和相关文档文件(“软件”)副本的任何人无限制使用本软件的权利,包括但不限于使用,复制,修改,合并的权利,发布,分发,再许可和/或出售本软件的副本,并允许具备软件的人员这样做,但须满足以下条件: 以上版权声明和本许可声明应包含在本软件的所有副本或大部分内容中。 本软件按“原样”提供,不提供任何形式的明示或暗示担保,包括但不限于对适销性,特定目的的适用性和非侵权性的担保。无论是由于软件,使用或其他方式产生的,与之有关或与之有关的合同,侵权或其他形式的任何索赔,损害或其他责任,作者或版权所有者概不负责。软件。 和Boost Open Source许可: 特此免费授予任何人或组织,以获取该软件及其随附许可证(“软件”)所涵盖的文档的副本,以使用,复制,展示,分发,执行和传输该软件,以及准备软件的衍生作品,并允许提供软件的第三方这样做,但必须遵守以下条件: 本软件和本完整声明中的版权声明,包括上述许可授予,本限制和以下免责声明,必须全部或部分包含在本软件的所有副本中,以及本软件的所有衍生作品中,除非有此类情况。复制或衍生作品仅采用源语言处理器生成的机器可执行目标代码的形式。 本软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性,特定目的的适用性,标题和所有权的担保。在任何情况下,无论是由于合同,侵权或其他原因引起的,与软件有关,与软件或软件的使用或其他方式有关的任何损害或其他责任,版权所有者或分发该软件的任何人均不承担任何责任。 我愿意对“保留此版权声明”位表示例外。

12
在新网站上使用“使用Twitter / Facebook登录”的利弊是什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我自己和一个朋友正在寻找一个小论坛站点。我正在考虑使用“使用Facebook / Twitter登录” API(可能专用(例如,Lanyrd))进行用户登录。我以前从未使用过这些工具,也没有用用户登录来运行网站。 这些API的优缺点是什么?特别: 作为开发人员,使用它们有什么好处?有什么缺点? 最终用户是否真的喜欢/不喜欢他们? 您是否曾经历过这些API的任何技术/后勤问题? 到目前为止,这是我的优点和缺点: 优点 为用户带来更多便利(单击两次即可“注册”,一次即可登录) 可能无需维护我们自己的登录系统 缺点 无法控制我们的登录过程 排除那些担心我们无法访问其帐户的Facebook / Twitter用户 如果用户的Facebook / Twitter帐户遭到破坏,则我们网站上的用户帐户也会受到破坏。 如果我们不维护自己的替代登录系统,请执行以下操作: 我们的登录系统对Facebook / Twitter的依赖性 从我们的网站中排除非Facebook /非Twitter用户

8
最适合作为开发商工作的行业[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我的合同刚刚结束,我想知道接下来我可能要从事哪些工作。 我一生都在银行和保险业工作(包括一家《财富》 500强公司),而根据我的经验,由于其严格的商业惯例(很公平),银行业是最慢(也是最无聊)的行业。好处是他们的薪水很高。 我的问题是: 开发人员从事的最佳和最差的行业是什么?也就是说,在您从事过的行业中,从开发人员的角度来看,好的和坏的是什么(钱,工作,文化,福利,同事等)? 担任顾问的工作如何影响您对行业的看法? 看到我提到无聊,哪个行业支持快速增长?

4
如果该错误已存在5年以上,那么它是否具有功能?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 请允许我添加详细信息:我在许多编码员,测试人员,质量检查分析师,产品负责人等机构工作,以下是令我感到困扰的事情: 十多年来,我们已经能够销售糟糕的(尽管功能很强大)软件。它具有许多功能,产品具有竞争力,但是那里存在一些严重的错误,以及成千上万的“剪纸”,这是客户需要习惯的小烦恼。 看某些事情让我很痛苦,因为我坚信,如果计算机无助于让我们的生活变得更轻松,那么我们就不应该使用它们。我对我的同事充满信心-他们很聪明,有能力,并且在专注于这样做时可以改善事情。 但是,很难将漏洞提交到某些旧功能,而又不会发现它们已关闭或被遗忘。一个典型的答案是:“它在无数个世纪中一直如此”。同样,当质量检查进行回归分析时,他们倾向于寻找与看起来不正确的差异不大的差异。因此,可以将一个旧问题的解决方案写为一个错误,因为“甚至在我之前就已经这样了”。 我心中的年轻程序员认为:重写这个怪异的东西!作为有机会接近客户的人,我想对此方法产生疑问。 我也对您的意见/经验感兴趣。请尝试考虑风险,收益成本和其他非技术因素。

13
假设不需要向后兼容,C#或.Net功能会中断吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 任何产品或框架都会发展。主要是为了满足用户需求,利用新的计算能力并使其变得更好而做的。有时,主要设计目标也会随产品而改变。C#或.net框架也不例外。我们看到,今天的第四版与第一版相比有很大不同。但是事情成为阻碍这种向后兼容的障碍。 在大多数框架/产品中,如果不需要支持向后兼容性,则某些功能将被切断。据您介绍,C#/。net中的这些功能是什么? 请为每个答案提及一项功能。


9
开发人员如何在自己的工作站上工作的标准
我们只是遇到了一种情况,这种情况有时会在开发人员在项目进行中几天病倒的情况下出现。 关于他是否提交了最新版本的代码还是我们应该关注的本地计算机上是否存在一些最新问题,我们存在一些疑问,我们已经交付给客户,因此我们迫不及待他返回。 其他开发人员中的一个以他的身份登录并发现了一个混乱的工作空间,其中许多貌似是同一项目,但带有时间戳,使得不清楚哪个是“当前”(他正在对项目版本的一些原型进行原型设计,而不是他的“核心”之一)。 显然这是一个痛苦的瓶颈,但是替代方案(这似乎是每个开发人员如何在自己的计算机上工作以确保其他任何开发人员都可以用最少的精力来捡拾东西的严格标准)可能会破坏很多开发人员的个人工作流程,并导致个人效率低下。 我不是在谈论签入代码的标准,甚至不是通用的开发标准,而是在谈论开发人员在本地的工作方式,根据我的经验,这个领域通常被认为几乎完全在开发人员自己的控制之下。 那么如何处理这种情况呢?这是发生的事情之一,您必须处理,让开发人员付出的代价能够以最适合他们的方式工作? 还是您要求开发人员遵守这方面的标准-使用特定目录,命名标准,Wiki上的注释或其他内容?如果是的话,您的标准涵盖了哪些内容,它们的严格程度如何,您如何监管它们等等? 还是我还缺少其他解决方案? [[为了争辩,假设无法与开发人员联系以讨论他在这里所做的事情-即使他能够知道并描述内存中哪个工作区也不会变得简单无瑕,有时人们真的可以我们无法与您联系,希望提供一种解决所有可能情况的解决方案。] 编辑:我知道通过某人的工作站是不好的形式(尽管这是一个有趣的问题,而且可能是主题外的问题,确切说明为什么如此),而且我当然不是在寻找无限的访问权限。按照标准的思路进行更多思考,在该标准中,将其代码目录设置为只读共享-无法更改,看不到其他内容,依此类推。

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.