Questions tagged «development-process»

有关软件开发过程的问题。

12
当您陷于某个项目时该怎么办?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 7年前关闭。 当我使用代码或设计程序时,我倾向于找一个非开发人员与之讨论问题。它迫使我详细解释问题,通常我会发现我在过程中遗漏的东西。 您的“不粘贴”方法是什么?

1
什么是开发人员无政府状态?
我一直在阅读有关开发人员(或程序员)无政府状态的信息,该技术似乎被认为是后敏捷开发方法。我发现它(一些资源1,2),但它似乎并没有很多在那里。 我想知道是否有人有什么好的资源可以在其中找到更多信息-如何实现,优缺点,与其他方法的比较等。

12
如何知道何时停止测试?
我知道这是一个非常非常基本的问题。对于某些软件应用程序,一个应用程序有大量几乎无限数量的测试用例。测试所有这些测试用例是不切实际的。我们如何决定何时停止测试?(除了“钱用完时”)。

1
Google的开发过程如何?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 6年前关闭。 他们使用什么工具?什么过程?他们对代码有什么规则?他们如何测试他们的代码?

7
您在敏捷的前几个迭代中提供了什么?
据我了解,敏捷方法论的思想是,您交付的是功能性的东西,并且您经常交付。递增后,应用程序进入其最终形状递增。 但是在早期的迭代中,您可能会构建应用程序所依赖的框架或基础,因此它很重要,但对用户不可见。 在这些最初的迭代中,什么交付给客户?在构建脚手架代码时,如何显示正确方向的进度?

4
BDD是否可扩展到大中型项目?
在您阅读的有关BDD(行为驱动开发)的每个网站中,您都可以找到一个非常简单的好例子,向您展示定义需求的显而易见和容易。但是,尝试在大型产品(而不是计算器示例)中实施此过程,向我展示了事情可能变得(或将变得)非常复杂且难以理解。特别是在稍后更改请求意味着为此需要进行大量的工作来更正集成测试。 所以我想知道,BDD真的值得吗?它是否解决了其他技术无法解决的问题!

14
在处理遗留代码时,如何克服自己的编码偏见?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 作为程序员,我们经常以我们的技能感到无比自豪,并对什么是“好”代码和“坏”代码持有非常强烈的意见。 在职业生涯中的任何时候,我们可能都会遗留下一些遗留系统,并以为“我的天哪,这段代码很烂!” 因为尽管它可能是功能完善,可维护的代码,但它不符合我们对好的代码的看法。 当您试图掌握其他程序员的工作时,如何做好心理准备?

11
您使用哪个持续集成框架,为什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 有很多不同的持续集成(CI)框架,我想知道哪种框架最受欢迎。您在您所在的公司使用了哪些框架? 是否有任何理由使一个CI框架比其他CI框架更受欢迎-也许与它提供的功能,集成到其中的东西有关? 似乎在Java和.net世界中使用持续集成比使用ruby或python要多。为什么是这样?

10
在开发的开始或结束时,什么时候更好地优化软件以获得更好的性能?
我是一名初级软件开发人员,我想知道什么时候是优化软件以提高性能(速度)的最佳时机。 假设该软件不是非常庞大且难以管理,是花更多的时间在开始对其进行优化上还是我应该只是开发能够正确执行所有功能的软件,然后继续对其进行优化以获得更好的性能?

4
哪些UML图仍在广泛使用?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 我在大学阶段教授软件工程,对UML从业者有疑问。 大多数软件工程教科书在覆盖UML图方面都进行了认真的工作。但是,另一方面,我从许多毕业生那里听说,UML似乎不再被使用。 哪些UML图仍在专业实践中广泛使用,为什么?是否存在不再使用的图,为什么? 注意:为了避免基于观点的辩论和讨论,请使用事实和客观因素(如果可能,可验证)或对个人经验的中性观察来说明您的答案

7
如何成为一个好的团队合作者?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我从12岁起就开始(一直在痴迷)编程,从汇编,C ++,Javascript,Haskell,Lisp和Qi的各种语言中我都非常了解。但是我所有的项目都是我一个人做的。 我获得了化学工程专业的学位,而不是计算机科学或计算机工程专业的学位,但是今年秋天我第一次与其他人一起从事大型编程项目,而且我不知道如何准备。我一生都在使用Windows,但是这个项目将非常适合Unix,因此我最近购买了一台Mac,希望自己熟悉环境。 去年,我很幸运地与一些朋友(包括CS专业)一起参加了黑客马拉松,令人兴奋的是,我们赢了。但是当我与他们一起工作时,我意识到他们的工作流程与我的非常不同。他们使用Git进行版本控制。当时我从未使用过它,但是从那以后我就学会了所有关于它的知识。他们还使用了很多框架和库。我必须了解Rails在黑客马拉松比赛中几乎是一夜之间(另一方面,他们不知道什么是词法作用域或闭包)。我们所有的代码都运行良好,但是他们不了解我的代码,而我也不了解他们的代码。 我听到了真正的程序员每天做的事情的引用–单元测试,代码审查,但我对这些内容的含糊不清的感觉。我通常在我的小项目中没有很多错误,因此我从来不需要错误跟踪系统或对其进行测试。 最后一件事是,我花了很长时间才能理解其他人的代码。变量命名约定(随每种新语言而异)很困难(__mzkwpSomRidicAbbrev),我发现松散耦合很困难。这并不是说我不会松散地做一些事情-我认为我对自己的工作很擅长,但是当我下载Linux内核或Chromium源代码之类的东西来查看它时,我花了数小时来尝试找出所有这些奇怪命名的目录和文件如何连接。重新发明轮子是编程上的罪过,但是我经常发现,自己写功能要比花费数小时来剖析某些库更快。 显然,以此为生的人没有这些问题,我需要自己解决这一问题。 问题:我可以采取什么步骤与其他人开始“整合”? 谢谢!

1
有人可以解释V模型的过程吗?为什么与瀑布模型不同?
似乎V模型只是瀑布模型,其瀑布的下半部分向上弯曲以形成V。我不知道它如何添加任何新内容。 从图中,我也不了解流程。有指向各个方向的箭头,我不明白首先要做什么。我们是否从左上方跟随V,向下到底部中心,然后再回到右上方?还是我们降低V,在物品降低之前先做所有升高的事情? 互联网对此模型缺乏足够的解释。如果有人可以用真正的StackExchange形式解释它,那就太好了:)

1
Gitlab工作流程,强制分支上的代码检查或合并请求
我正在努力通过工作流程策略在我的公司中实施Gitlab。我的想法是,将为开发人员提供访问存储库的权限,但是,无论何时他们尝试提交,都必须对其代码进行审查。 我知道我可以让他们在提交之前创建一个分支,然后在将其推送到存储库之后创建一个合并请求。我仍然不清楚某些事情……我们依靠人们创建分支然后合并请求的想法似乎是错误的,是否存在一种解决方案,该解决方案会强制执行某种策略,除非master分支保持“干净”管理员”批准将要合并到其中的代码。我已经阅读了“ github团队工作流程”,但是它似乎没有提供可行的解决方案。关于过程或您自己的最佳实践的任何建议都将受到赞赏。谢谢!

6
开发和质量检查之间的延迟时间更长的代价
在我目前的职位上,质量检查已成为瓶颈。不幸的是,当前版本中没有保留功能,因此QA可以完成测试。这意味着开发人员继续进行开发后,可能需要2-3周才能对已完成开发的功能进行测试。随着开发人员加快质量检查的进度,这个时间差距只会越来越大。 我一直翻阅我的Code Complete副本,寻找“ Hard Data”片段,该片段表明修复缺陷的时间越长,其成倍增长。有人能指出我一些支持该概念的研究吗?我试图说服质量保证瓶颈比他们想象的要昂贵得多。

8
敏捷不仅仅是小瀑布吗?
我在项目中主要使用了瀑布方法,但是现在我将眼光扩展到了敏捷方法中。到目前为止,从我读过的东西(也许我读错了东西)来看,敏捷意味着小瀑布。您不用持续一到两年的大瀑布,而是可以持续几周或最多几个月的小瀑布。 我的理解是正确的还是不仅仅如此?敏捷哲学是什么?

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.