软件工程

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

7
是否可以与不信任的客户合作[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 8年前关闭。 我们的一位初级开发人员已分配了一个新客户(我们还没有该客户,我们仍在与他合作,看我们是否能够满足他的需求),该初级开发人员说,如果我们能够,客户将雇用我们在不访问服务器的情况下完成他的项目。 我与客户进行了直接交谈,该客户原来是被他外包的一家离岸公司偷走了他的代码。这让我更加同情,但对此我仍然有不同的感觉。 一方面,我想向客户证明我们并非都是坏苹果。同样,如果我们与他一起做得很好,我们将得到一位忠实的客户,他将雇用我们从事他的所有项目。我之前从未听说过这种情况,但我想它发生的频率比我们所有人都想承认的要高。 另一方面,我很犹豫接受与他一起工作,因为部署时间将是一场噩梦,而且在我的职业或教育领域,没有人会教我如何与像他这样的客户一起工作。我(或初级开发人员)将不得不写一份确切的说明来详细说明如何使用源来部署它,而当我自己一个小时内就可以部署和测试整个事情时,这是一个烦人的负担。 就像我说的那样,我以前从来没有处理过这个问题(我们正在签署保密协议,但显然我们面前的离岸公司也是如此)。我们还没有被完全预订满,所以好像我不能马上就任,但是我们也不求工作,我想知道在这样的受限环境下工作是否值得麻烦。 另一面是,这种经验本身可能会给我们带来好处,但它值得拥有,因为在不久的将来甚至有可能获得相似的客户。我们甚至期望遵守这些客户吗? 因此,由于我对此没有任何亲身经历,而且绝对不在学校学习,因此那些与客户合作经验较长的人将如何与这样的不信任客户打交道?你会接受这份工作吗?

4
MSDN订阅是否值得个人使用?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我主要在工作时使用.net进行编码,但想知道是否可以使用家用MSDN订阅/值得将其作为与Microsoft开发的最新技术保持联系的工具?
11 tools 

5
对您来说,软件是“可用源”而不是“开源”对您来说是否重要
您可能知道OSI正式批准的开源许可证列表。最值得一提的是,我猜应该是GPL,MIT,[在此处插入您喜欢的许可证]。 我最近遇到了一个项目,该项目虽然是开源的(创建者提供了所有源代码),但在其中一个正式许可下并不是正式开源的。 它发布了源,但没有承诺将来发布源。 它允许修改建议,但不承诺接受补丁程序,并且不允许外部分发外部补丁程序版本。 它允许在商业或付费项目中使用该软件,但不允许出售该软件本身。 我想我们可以将其称为“可用资源”,而不是开放源代码。 我可以看到为什么公司的管理团队不想使用此软件开展业务。他们不能分叉,不能出售,也不能创建自己的软件版本来分发或出售。 但是,作为仅使用此软件的软件工程团队的一部分,这对您来说重要吗?我仍然可以用它来完成工作,可以在有偿的项目中使用它(但是我不能出售软件本身,无论如何我都不会从事这项工作),并且我可以对代码进行更改以使其行为能够满足我的需要(但我不能公开这些修改),如果我确实希望将这些修改正式提供给其他人,则批准取决于项目本身,他们选择是否是否将它们合并到正式版本中。 因此,我们知道,一家公司希望基于此“可用源”软件来开展业务,但是不能做到这一点,但是作为软件工程团队中的某个人,这些差异对您来说是否重要,或者它们似乎无关紧要? 很好奇别人对此的看法。


6
您如何看待这种新的if-then语法?
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我只是想在if-elif-else控件中添加一些非常酷的东西。 if condition: stuff() elif condition: otherstuff() then: stuff_that_applies_to_both() else: stuff_that_doesnt_aply_to_either() 因此,基本上then可以在其他条件以外的任何条件下运行a。您认为这有用吗?它类似于python的try-except-else。 我认为你们中的一些人正在确定一个非常初步的实施方案。该then块就像python else中一个try-except块中的块一样。我建议这样做的真正原因是针对此类情况。 m = {} if condition == '1': m['condition'] = condition elif condition2 == '3': m['condition2'] = condition2 elif condition3 == 'False': m['condition3'] = True then: run_test_that_relies_on_one_of_the_conditions_being_true() return m 如果then是,则该块的作用域为第一个else。因此嵌套效果很好。而且,如果您需要在if语句之前运行一个方法,则实际上与该用例无关。
11 syntax 

12
布尔逻辑的可维护性-是否需要语句嵌套?
其中哪一个对可维护性更好? if (byteArrayVariable != null) if (byteArrayVariable .Length != 0) //Do something with byteArrayVariable 要么 if ((byteArrayVariable != null) && (byteArrayVariable.Length != 0)) //Do something with byteArrayVariable 我更喜欢阅读和编写第二篇文章,但我想起在代码中阅读完整内容是,这样做不利于可维护性。 这是因为if如果第一部分为假,并且并非所有语言都这样做,则您依赖语言来不评估第二部分。(第二部分如果使用null评估,将引发异常byteArrayVariable。) 我不知道这是否真的值得担心,我想就这个问题提供一般反馈。 谢谢。

5
架构描述文件是否违反了DRY原则?
DRY原则(不要重复自己)指出:“每条知识都必须在系统中具有单一,明确,权威的表示形式。” 在大多数情况下,这是指代码,但它通常还扩展到文档。 据说每个软件系统都有一个体系结构,无论您是否选择它。换句话说,您构建的软件具有结构,而“已构建”结构就是软件的体系结构。 由于构建的软件系统具有体系结构,因此创建该系统的体系结构描述是否违反DRY原理? 毕竟,如果您需要了解架构,那么您始终可以只看一下代码...

7
我如何进入研发?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 7年前关闭。 我开始认为我可能最适合从事研发工作。原因是我喜欢可以让我发挥创造力的工作,通常我对解决难题比对构建事物更感兴趣。我真的不喜欢仅仅归结为将需求转换为代码的工作。 不过,这里有一个主角:我没有一个学士学位,更没有一个硕士或博士学位。我有可能找到这样的工作吗?
11 research 


3
我们应该怎么做才能使早安站立聚会更好和更有效
在我办公室的这里,我们练习了早上9点之前(在任何情况下都由管理层决定)并从一次站立会议开始。在这里,我们开始讨论前一天的问题,经理的任何更新(按潜在客户)和今天的工作计划。 这次会议听起来可能不错,而且以过程为导向,但是有时候,如果一场表演失败了,那会破坏早晨的心情,或者如果意见分歧,那么再次开始就不是一件好事了。 因此,人力资源与管理部门决定首先我们将讨论个人事务10至15分钟,然后我们将跳至技术和官方讨论。每天15分钟,您是认真的,我每天15分钟都没有讨论的话题我的领导要比我大得多,直到现在再也没有讨论过任何个人知识,而您想要这样开始!!!现在回到正题。每个人(令人惊讶的是所有团队中的每个人)仅在上午/站立会议中再次讨论技术方面。 因此,今天我要与管理层共进午餐,讨论的主题是: 如何使“美好的一天(早上/站立)”会议有效?

1
对结对编程中的“初学者”有任何经验吗?
文章“混杂配对和初学者的思想”(PDF)建议您将一对对代码库的特定领域了解最少的人放在这个配对中。这也表明,你换了一对,每90分钟左右的高级成员。新手不仅会了解代码的这一领域,而且与已经知道该领域的人相比,他们的想法也会有所不同。 有人对此策略有经验吗?它与现实有关系吗? 我发现了有关何时使用配对编程以及是否需要进行配对编程的工作的其他问题,但是我没有发现专门涉及混杂配对和这种“初学者”策略的问题。 如果您不熟悉结对编程,请参阅Wikipedia和c2.com上的有趣文章。

6
Eclipse中的哪些功能在Visual Studio中不可用?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 8年前关闭。 我已经使用Eclipse在Java中进行了大量开发,现在我已开始将Visual Studio用于.NET开发。到目前为止,我发现IDE能够执行相同的操作,但只是有所不同。 Eclipse中的哪些功能在Visual Studio中不可用?

3
关于测试优先编程的第一个公开参考是什么?
我正在重读Martin Fowler的《重构》。在第四章建筑测试中,我遇到了以下段落。 实际上,编写测试最有用的时间之一就是开始编程之前。当您需要添加功能时,首先编写测试。这并不像听起来那样落后。通过编写测试,您正在问自己添加功能需要做什么。编写测试还着重于接口而不是实现(总是一件好事)。这也意味着在测试工作时,您有一个明确的编码点。 虽然我现在是测试驱动开发的倡导者,但我记得将近五年前刚读这本书时就没有被介绍过这个概念。 根据Amazon.com的说法,该书最初于1999年7月8日出版。这是第一本关于测试优先编程的参考书吗?
11 testing  history 

9
获得数学学位对游戏开发有帮助吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 我距离获得系统工程学位还差两个月,也就是说,我学会了如何使用托管语言进行编码和良好编码。 我进入这个职业的唯一原因是因为我想创建视频游戏。我现在知道,利用当前的技能,我将无法创建自己脑海中的某些事物。 获得纯数学学位可以帮助我实现这一目标吗?

4
FOSS版本控制系统是否适用于企业?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 假设某大型公司正计划替换其现有的版本控制系统。假设仅考虑来自主要供应商的系统,这些系统因具有“支持”而花费数十万美元。 企业环境中的版本控制是否必须昂贵?您的大中型公司是否使用诸如SVN / Git / Mercurial之类的FOSS VCS?经验是什么? 我必须认为它不需要昂贵,因为有很多免费的选择,而且如果这是主要问题,那么可能有一些公司为FOSS VCS提供付费支持。 我不打算用这个问题来比较VCS或决定哪个是最好的,而只是了解在企业IT环境中使用VCS的经验。

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.