软件工程

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

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

5
TDD测试应该有多精细?
在基于医疗软件案例的TDD培训期间,我们实现了以下故事:“当用户按下保存按钮时,系统应添加患者,添加设备并添加设备数据记录”。 最终的实现将如下所示: if (_importDialog.Show() == ImportDialogResult.SaveButtonIsPressed) { AddPatient(); AddDevice(); AddDeviceDataRecords(); } 我们有两种方法可以实现它: 调用了三个测试,每个测试都验证一个方法(AddPatient,AddDevice,AddDeviceDataRecords) 一种验证所有三种方法的测试称为 在第一种情况下,如果if子句条件发生错误,则所有三个测试均将失败。但是在第二种情况下,如果测试失败,我们不确定到底是什么错误。您会选择哪种方式。
18 unit-testing  tdd 

12
我们应该尝试审查所有代码吗?
我们目前正在修改开发流程,我想知道我们是否应该尝试对100%的提交同行进行审查。 您在代码审查方面有什么经验? 您倾向于在它们上花费“大量”时间(例如每天1/2小时),还是只浏览最大5/10分钟? 您每天/每周/每个冲刺/项目是否有固定的时间花费? 最重要的是,您认为目标应该是对100%的代码进行同行评审还是不需要100%?

2
F#是否提供对数据库驱动的Web开发特别有用的功能?
我的组织终于在今年升级到了MS Visual Studio 2010。Visual Studio 2010提供的一项重大新功能是F#编程语言。 我了解F#提供了类似于Lisp的功能编程范例。但是与Lisp不同,F#被编译为.net框架的托管代码。 现在,我从事数据库驱动的Web应用程序开发。现在,我正在使用后端是SQL代码的N层应用程序,前端是C#.net AJAX Web应用程序。我想知道F#是否提供对此类开发特别有用的任何东西。

7
PBI vs用户故事
最近,产品负责人已将一个项目添加到产品待办事项列表中,该项目显示“当我从x页面转到登录页面时,我看到一个错误。我希望删除该错误”。 在我看来,这不是用例,也不应该是PBI(产品积压项目)。但是,当我讨论它时,Scrum管理员告诉我用户故事不是PBI,而PBI可能是错误报告,任务,用户故事,任何东西以及实际上应首先解决的任何项目。 我对此不确定。而且我在网络上找不到很好的PBI定义。因此,我的问题是,什么样的事情可以作为项目进入产品待办事项列表?产品积压项目是否映射到用户故事?他们是一样的吗?

11
每日报告会降低开发人员的生产力吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 在另一个问题中,我问为什么开发人员可能不喜欢每天的混乱。我们与开发人员进行了交谈,我们决定暂时不举行每日Scrum(在我们的第一次尝试中尝试一下并定制化Scrum)。这是直接与开发人员进行协商的结果。 另一方面,我们不想失去日常工作的大部分内容,例如有机会每天与开发人员进行协调,或者像关键绩效指标那样观看工作进度,以便尽早采取行动。 作为每日混乱的替代方案,我们正在考虑要求开发人员提供以下条件的每日报告: 无需遵循任何特定格式。每种格式均被接受。 即使工作没有完成,我们也希望听到进展。 无需提及在每个任务上花费的时间。 应提及发展障碍和协调要求。 无需沉迷于每日报告。没有那么严格。 您认为这会降低他们的生产率吗?您有任何日常报告经验吗?您对我们有什么建议,以便我们可以确定自己没有进行微观管理吗?

3
从左到右语言语法的优点
我一直在Channel9上观看Herb Sutter的一次采访,他在视频的结尾提到,对于将来的C ++标准,从左到右的语言语法将是他的愿望清单上的第一名(尽管他承认以这种方式修改C ++会造出完全不同的野兽)。 除了: 人类更容易理解,肉眼更清晰;例如 //C syntax /*pointer to function taking a pointer to function(which takes 2 integers as arguments and returns an int), and an int as arguments and returning an int*/ int (*fp)(int (*ff)(int x, int y), int b) //Go analogous syntax which is left to write …

3
我应该在测试方法中使用try catch吗?
我正在做单元测试。 我正在尝试测试一个功能。 我从测试组件中调用它。但是,我想,如果远程功能不能处理异常,那么我的测试器组件也将获得异常。 那么我应该担心在测试器组件中出现异常吗? 谢谢。 编辑: PS: 抛出错误是件好事,但仅对其他功能有用,直到最后一个选择才对最终用户有效! 天哪,我写了一个编程报价!

3
演员模型如何使用?
我已经阅读了一些有关actor模型的知识,但是并不太了解如何在现实世界中使用actor –如何为它们建模问题。 有人可以解释一下吗?一个简单的示例或示例的链接将不胜感激。

3
2人在一个项目上的工作流程是什么
我是作为一个新手程序员来找您的,他一直在从事自己的项目(进展很好)。我的联合创始人还一直在学习如何编程,并且已经达到了可能开始修复某些问题并使某些事情发生的地步。 他问了一个很好的问题,即“这将如何工作”。我只能从理论上做些什么,因为我从未与其他人一起编程过。您能建议我最好的工作流程吗?我们使用git。 我们应该拥有系统的特定部分吗?签入代码?代码审查? 您如何与> 1开发人员合作?
18 git  github  gitflow 

8
Microsoft为什么要使参数,局部变量和私有字段具有相同的名称命名约定?
我很早以前问过这个问题:如何在C#中命名私有变量? 在一个答案中,我被指向Microsoft的MSDN页面,该页面显示私有变量/字段应按以下方式命名: private int myInteger; 但是参数将是: void SomeMethod(int myInteger) 局部变量是这样的: int myInteger; 所以当你这样引用它们时 myInteger = 10; 您无法知道您在谈论哪个。 我现在开始一个新项目,我的一位同事问我为什么我们不做点什么来区别其中至少一些。 我在想同样的事情。微软的标准为什么没有使这些保持不同?

9
我是否应该警惕与刚遇到的某人签署保密协议?
12年1月22日更新,以防万一您对我为什么没有接受答案感到困惑:几乎所有答案都清楚地表明,为他工作会很愚蠢,但似乎没有一个答案。 tl; dr:我刚遇到的一个人说他要我加入他的公司。在他向我展示他们的工作之前,他要我签署一份保密协议。这很奇怪吗? 我现在正在旅行。看到我编码的人似乎认为我很聪明,因此开始与我交谈。他解释说自己拥有一家软件公司,向我介绍了它的工作情况,并告诉我他正在寻找一名愿意为公司的股份工作的程序员。他解释说,该公司的产品正在相当秘密地进行开发,所以他不能告诉我太多。但是他确实对产品做了足够的介绍,以说服我他并没有完全弥补这一点,这是一个不错的基准。 他建议他向我展示他正在从事的工作,并在看到之后确定是否要加入。由于产品背后的保密性,他希望我在我们交谈之前签署保密协议。 由于我们遇到的随机性,我显然有些怀疑。 短期而言,我想知道我是否应该谨慎地签署这样的协议。他说,亲自给我看产品而不是通过互联网给我看产品要容易得多,而且我明天要离开市区,所以我得明天再弄清楚。如果我决定与他交谈,我可以稍后再决定是否相信值得花时间在这家公司上。 能够避免透露秘密的概念在我看来很奇怪,原因与版权某些方面之类的东西看起来很奇怪相同。我应该警惕签署保密协议吗?这是惯例吗? 我不知道他在想什么协议的细节,(如果我最终与他会面,我当然会在决定是否签署该协议之前先仔细阅读该协议。)所以我可以根据协议的各个方面。或者我可以考虑达成一项特别苛刻的协议的情况。 这个问题似乎模糊相关。 我们需要保密协议(NDA)吗? 谢谢

6
大会仍然有意义吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 在编码和/或管理项目方面,汇编语言和高级语言之间是否有主要区别?显然,与大多数其他语言相比,用汇编语言执行特定的操作要花费更多的语句,但是是否存在差异会影响基于目标汇编语言(特别是x86 / x64汇编语言)运行项目(或应该)运行项目的方式? 就汇编语言和其他语言之间的差异而言,可以合理地猜测,其中至少有一些是其他语言的优势。谁能指出汇编语言的特定缺点以及减轻这些缺点的方法吗? 一个具体的例子是人员的可用性。是否有人在寻找经验丰富的汇编语言程序员时遇到麻烦,如果可以,可以采取哪些步骤来减轻此问题?
18 assembly  kernel 

6
您如何以对程序员和非技术人员友好的方式处理错误跟踪?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 实际上,我们在项目中使用的是螳螂。还是我应该说“我们尝试使用”。我所知道的所有错误跟踪器的问题在于它们是由程序员为程序员制作的。因此,该设计不存在或完全荒谬。 当然,作为一名程序员,我可以毫无问题地使用螳螂,但是当项目中所有参与 ** 的人发现它们的设计如此糟糕且难以使用以至于他们更喜欢使用带有项目符号列表的Google文档时,bug跟踪器会很有用他们发现或建议的错误。 我将要安装一个论坛,在我看来,这就像是在错误跟踪器和简单项目列表之间的“中间”解决方案。至少一个论坛允许监视和集中有关建议的讨论。 如果我的担忧不清楚,我的问题可以总结为: 您如何处理针对非技术用户的错误和建议报告? **通过参与,我并不意味着实际的客户或最终用户。我在考虑我们的集成商,项目经理以及参与质量检查的人员。

1
C#类命名标准/准则
多年来,我在应用程序中为服务使用了各种命名约定 例如: [ClassName]服务 [ClassName]管理员 [ClassName]工厂 [ClassName] Provider [ClassName]助手 我通常只对没有外部依赖项的实用程序类使用“ Helper”后缀。 但是,我发现彼此之间存在一些交叉,并想知道是否有关于使用什么以及何时使用的任何建议/标准/准则。
18 c#  naming 

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.