软件工程

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

16
短标识符不好吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 短标识符不好吗?标识符长度与代码理解如何相关?在命名标识符时,还需要考虑哪些其他因素(除了代码理解能力之外)? 只是为了保持答案的质量,请注意,已经对该主题进行了一些研究! 编辑 奇怪的是,当我提供的两个链接都表明大标识符有害时,每个人都认为长度不相关或倾向于使用更大的标识符! 断链 下面的链接指向对该主题的研究,但现在已断开,我似乎没有与该文件的复印件,而且我不记得它是什么。我把它留在这里,以防别人弄清楚。 http://evergreen.loyola.edu/chm/www/Papers/SCP2009.pdf

9
如何处理团队中开发人员之间的冲突?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 每个团队都在发生这种情况。 由于某些原因,团队中会发生冲突,它们会影响总体动力和生产力。 您建议采用什么方法解决该常见问题? 例子: 团队的一部分希望实施依赖注入,另一部分则认为这是浪费时间。 一些开发人员认为团队的其余成员正在减慢开发速度(这说明了为什么他们按计划迟到了) 一个或多个开发人员之间的个人不兼容性 一位开发人员拒绝与另一位开发人员交谈(无明显原因)

12
在哪里可以获得免费的公共原始数据?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 在Web开发中,mashup是使用或组合来自两个或多个来源的数据,表示或功能以创建新服务的网页或应用程序。 有许多获取数据(原始信息)的来源。政府就是很好的例子。 但是,其中许多成本很高,而且许可复杂。例如,瑞典的SMHI出售温度数据,而我们的邻国挪威免费提供。 有人会说您正在构建什么样的应用程序,需要什么数据?我会说给我一些有趣的数据,我将对其进行很好的混搭。例如,我可以将其绘制在Google地图上。 所以问题是:在哪里可以获得免费数据? 注意:我对使用网络爬虫的数据挖掘不感兴趣! 请与我分享您的资源。
26 resources 

11
为什么您从来没有完成您计划的工作?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 8年前关闭。 我总是开始思考“我会在一天结束时轻松完成此工作”,并设定看起来像是一个现实的目标。 那么,为什么我从不打它呢?由于无法预料的错误,最后的更改等,任务最终总是需要花费3倍的时间才能结束。 只有我吗?我似乎无法更好地预测一天可以做什么。

3
为什么.net中没有OrderedDictionary的通用实现?
Microsoft为什么不提供OrderedDictionary的通用实现? 我见过一些自定义实现,包括:http : //www.codeproject.com/KB/recipes/GenericOrderedDictionary.aspx 但是,为什么Microsoft不将其包含在基本.net库中?当然,他们有理由不构建泛型。...但这是什么? 在发布此消息之前,我确实看到了:https : //stackoverflow.com/questions/2629027/no-generic-implementation-of-ordereddictionary 但这只是证实它不存在。不是为什么它不存在。 谢谢
26 c#  .net 

21
您目睹过的最令人印象深刻的编程壮举是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 每个人都知道一句古老的谚语,那就是最好的程序员可以比平均水平好几个数量级。我个人曾经见过好的代码和程序员,但是从来没有如此荒唐的东西。因此,问题是,您目睹或听说过的最令人印象深刻的编程壮举是什么? 您可以通过以下方式定义令人印象深刻的内容: 即将完成的任务的范围,例如John单手为他的公司开发了框架,这项工作的范围堪比其他200名雇员的合并工作。 速度,例如Stu在一周内就对整个实时多任务应用程序OS进行了编程,包括其自己的C编译器和Shell命令行工具 复杂性,例如Jane重新整理了我们整个10密耳LOC应用程序,以在服务器集群中工作。她在一个下午做了。 质量(例如Charles的代码)每LOC的缺陷率比公司平均水平低100倍。此外,他的代码干净而且所有人都可以理解。 显然,这些特征组合得越多,每个特征越极端,这一壮举就越令人印象深刻。 所以,让我来。您能叙述的最荒唐的壮举是什么?请提供尽可能多的细节,并尽量避免城市传说或夸张。仅发布您可以实际担保的内容。 奖励问题: 艰巨的任务是其中一项,还是个人经常使人惊讶? 您如何解释如此出色的表现? 程序员如何被如此出色的工作认可?

6
您如何最大化从编程书籍中学到的知识?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 并不是因为我在乎某人要花多长时间才能读书,而是因为我对人们如何以最佳,最有效的方式将一本书(或其他来源)的知识带入大脑感兴趣。 就我个人而言,我采用了多次通过的方法(从我的回答到原始问题): 浏览内容,浏览并阅读带有有趣标题的所有内容,最后浏览所有漂亮的图表和插图。在这个阶段我不会花很多时间,但是这使我对这本书有一个心理的看法(最多一个小时左右) 首先通读这本书,通常我会通读本书的开篇章节,这本书要么很沉重,要么介绍了一些全新的东西。对于涵盖我已经知道的主题的书籍,我将略过或略过一些琐碎的内容。本书的其余部分将相当快地通过,但不会很快,以至于我只是翻页。(约一周) 并不是我所读的所有书都能做到这一点,但是如果我发现一本书有趣或有用,那么我将对其进行适当的研究。我将以较慢的速度浏览本书,并完成部分或全部示例,尝试代码等。除非本书真的很不错,否则我通常会跳过整章(取决于本书的1-3周)。 最后,当我完成阅读并阅读其他书籍时,我会经常一遍又一遍地进行交叉参考,比较,查找,浏览等-因此,我最喜欢的许多书籍最终都不会聚集在一起书架上的灰尘。 我在阅读时很少记笔记(尽管如果我正在处理诸如代码示例之类的内容,我可能会在纸上做一些计划)。我还考虑过开始使用个人看板来组织我的进度,但从未完全使用该技术。思维导图是我喜欢的另一件事,但很少这样做。 人们还有什么其他方法?您如何找到他们?您是否有浪费时间的普遍推荐技术?

4
合理使用如何应用于代码段?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 去年关闭。 在没有合理许可的情况下,您是否可以使用某种尺寸复制合理使用的代码?例如,如果我复制一个(通常)三行代码的代码段怎么办?这样合理吗?如果合理使用,我需要多长时间才能获得许可证?
26 copyright 

9
主键应该是不变的吗?
一个关于计算器最近的问题引起了有关主键的不变性讨论。我以为主键应该是不变的,这是一种规则。如果有一天某天可能会更新主键,我认为您应该使用代理键。但是,它不在SQL标准中,某些RDBMS的“级联更新”功能允许更改主键。 所以我的问题是:拥有可能会更改的主键是否仍然是一种不好的做法?拥有可变主键有何弊端?

9
向非技术人员解释技术问题
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我经常要解释技术方面的东西和技术决策,我非常非技术经理和我在这很可怕。有什么好方法可以使那些对编程没有热情的人去做一些愚蠢的事情呢? 我被问到的示例问题: 为什么要使用Django而不是Java(也不接受它便宜一点) 要求我改写非技术性的词语,我的句子是“不允许使用某些HTML标签”。我怎么可能把它弄哑? 其他对我来说很有意义的东西,但是太基础了,我不知道如何解释 为什么这样,为什么那个,为什么一切! 另外,如何告诉经理在Google上查找基本内容,例如“什么是Pylons?”。
26 management 

11
与原始开发相比,应该花多少时间在错误上?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 这个问题有点抽象,但是我希望有人可以指出正确的方向。 我的问题是,相对于原始开发时间,一个软件项目的bug可以花多少时间。我意识到有很多决定性因素需要考虑,但我希望进行典型或平均的分类。 例如,如果项目A需要40个小时才能完成,另外还有10个修复错误,则该项目的比例为4:1。 如果另一个项目(B)需要10个小时才能完成,而另外8个bug则需要5:4的比率。 这是有文件记录/研究的概念吗? 更新 感谢您提供的所有信息。我了解,由于涉及所有变量和环境因素,因此不可能对此类指标制定标准。在分配答案之前,我想知道该指标是否具有一致认可的名称,以便我做进一步的研究。我想了解一下自己可以自己生成度量标准并最终为我的项目提出基准标准的度量标准。
26 bug  time 

9
对于功能性编程,存在哪些合适的网络框架?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我想使用函数式编程进行一些Web编程。对于功能性编程语言,存在哪些不错的网络框架?

4
为什么开发团队会坚持认为在Visual Studio中对多个项目使用单个解决方案会“增加相互依赖的复杂性”?
我正在帮助管理一个外部团队,他们正在开始开发某些现有产品的新版本。从历史上看,该团队一直在单个解决方案中使用单个项目的模型来处理Visual Studio中的大约30个模块,这些模块一起产生可部署的内部版本。 这会对构建可靠性和质量产生不利影响,因为它们并不总是向我们发送最新的源代码。我们试图让他们将所有引用的代码统一到一个解决方案中,但是我们遇到了一些阻力-特别是他们一直在谈论如果将所有内容都放置在模块之间,模块之间的相互依赖性(在Visual Studio中为“项目”)会增加。一个解决方案文件。单独解决方案中的代码均未在其他地方使用。 我坚持这是胡说八道,良好的开发模式将避免任何此类问题。 有问题的团队还对现有产品进行错误修复和新功能开发,至少可以说,其经验不足以解决多个解决方案的完全相同的问题。我们一直被拒绝访问其源代码管理(TFS),而我们采用的统一代码库的方法是尝试并至少减少丢失的更新数量,而不是偶尔进行回归(是的,固定的错误正越来越-产品介绍),说“向我们发送整个解决方案文件夹的ZIP文件,这样我们就可以解压缩,在Visual Studio中打开它,然后按F5 “用于测试”。在总体结构和质量方面,该代码非常差且难以支持。这种经验就是为什么我希望尽可能早地在开发周期中使工作流程正确。 有什么我想念的吗?是否有充分的理由将所有代码分开?为了我的钱,它必须是一个令人信服的理由,这将是常识,但是我更愿意承认我并不了解一切。

2
Python(和其他动态语言)的哪些语义特征导致其缓慢?
我不太了解Python。我试图更精确地了解动态语言(如Python,Lua,Scheme,Perl,Ruby等)的确切功能正迫使他们的实现变慢。 作为一个例子,Lua 5.3的可继承机制会直观地使Lua变得很慢,但实际上有传言说Lua相当快(并且比Python快)。 另外,我有直觉(可能是错误的),由于目前的处理器内存大于原始计算慢得多(与高速缓存未命中的存储器访问需要的同时,数以百计的算术运算),动态类型检查(点菜if (value->type != INTEGER_TAG) return;的C语言)可以运行得很快。 当然,随着翻译程序的快速运行,整个程序分析(例如Stalin Scheme实现的工作)可以使动态语言实现成为可能,但是让我们假设我没有时间先设计整个程序分析器。 (我在MELT监视器中设计了一种动态语言,其中有些会翻译成C语言)

6
Swift函数与计算属性
假设我有一个Event如下课程: class Event { private var attendees: [Person] = [] // Case 1 //******* // Should I use a func… func countOfAttendees() -> Int { return attendees.count } // …or a var var countOfAttendees: Int { return attendees.count } // Case 2 //******* // Should I use a func… func …

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.