软件工程

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

8
小团队的版本控制[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我们正在引导一个非常小的团队(例如2-5),我的问题是:哪种类型的版本控制最适合集中式或分布式的这类团队。

5
艾伦·库珀的统一文件模型发生了什么?
长期以来,Alan Cooper(在他的《 About Face》一书的3个版本中)一直在推广“统一文件模型”,以免除他所说的有史以来最愚蠢的消息框-一个点击应用或表单上的关闭按钮并显示“您要放弃所做的更改?”时弹出。我喜欢这个主意和他的观点,但也有大多数经验丰富的程序员和用户对此的直率反应。 尽管库珀的书似乎很受人们欢迎和尊重,但我在网上找不到关于这个特定问题的讨论,很少。“编程工业强度Windows”的作者Petter Hesselberg提到了这一点,但似乎是这样。 我有机会在我正在从事的(桌面)项目中实现此目标,但是客户和同事当然会遇到阻力,他们当然熟悉MS Word和Excel的工作方式。我可以推翻他们的反对意见,但是不确定是否应该这样做。 我的问题是: 我没有找到对此的良好讨论?有人在他们的应用程序中这样做吗?一个好主意是,不幸的是,要等到Microsoft才实施,它才是不现实的?

3
我可以删除所有大写字母并缩短许可证上的免责声明吗?
我将MIT许可证用于特定的代码段。现在,此许可证在所有大写字母中都有很大的免责声明: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF... ... 我在zlib许可证上看到了通常大写的免责声明(请注意,它在许可证文本上方),甚至根本没有免责声明的软件(这意味着,我认为,确实有保证吗?),但是我希望得到可信赖的各方的一些建议。我只是没有找到任何东西。 此免责声明附带了GNU 其他文件的许可声明: 该文件按原样提供,没有任何保证。 简短而简单。 因此,我的问题是:是否有任何可信赖的消息来源表明在我应该关注的所有辖区中可以安全使用短的而不是长的,并且通常是拼写而不是大写的免责声明? 出于这个问题的目的,该软件在欧盟发行,如果有任何不同的话。

8
如果周围没有人执行许可证,许可证是否重要?
假设原始创建者不能(或不会)对其软件/代码强制执行许可,但是该作品仍然很受欢迎。 我想如果您想对其进行可视化,我会提出一个令人费解的假设: 想象一下,一小群开发人员根据开放源代码许可发布了代码项目。该存储库托管在他们的服务器上。但是,直接开发团队中的每个人都在不幸的事故中丧生。发生这种情况后,其服务器将关闭。该项目具有相当大的用户基础,因此其他人开始在他们自己的服务器上托管最新版本,以供其他人下载。 (是的,我有一个积极的想象力) 遵守许可是否仅仅是用户的道德问题,还是当没有一个用户或团体强制执行时仍会存在法律惩罚吗?如果不道德的用户决定分支该项目并在不同的许可下使用它,该怎么办? 我不是在寻求法律建议-我只是对软件许可证的工作方式很好奇。我倾向于想到一些奇怪的情况,并且想知道在这些情况下会发生什么。

6
垂直对齐:是或否?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 例如,非垂直对齐: Name: Hamt Version: 0.1.0 Cabal-Version: >= 1.2 License: BSD3 Author: Jason Baker 或垂直对齐: Name: Hamt Version: 0.1.0 Cabal-Version: >= 1.2 License: BSD3 Author: Jason Baker 你更偏向于哪个,为什么?

4
.NET认证考试之间有什么区别?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我是使用WPF和ASP.NET MVC的.NET开发人员,我希望通过某种认证考试。 似乎有四门考试,但我什至无法理解与Microsoft的定义之间的区别: MCPD 计算机辅助设计 MCSD MTA 它们如何相互联系?通过认证考试是否有自然的进阶途径?他们适合什么版本的.NET?
13 c#  .net 

5
如今,哪些语言用于底层编程?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 当我听到诸如驱动程序,嵌入式系统,操作系统等的底层编程时,我会立即想到C甚至C ++。但主要是C。 但是,其他哪些语言也可以用于此类任务?今天,我的意思是,不是已经被使用。

12
Windows缺少程序员所需的哪些默认功能?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 Windows缺少哪些功能可以提高程序员的生产力。我知道很多人都希望Linux和OSX的某些功能也可以移植或为Windows创建。您还缺少什么? 一个示例是具有多个工作空间的选项。如果无法使用方便使用的双显示器。

6
如何摆脱支持,开始偿还技术债务!
我有一个朋友”。是的,我知道是个好的开始,但老实说,这不是我! 基本上,他已经在一个成功的项目上工作了大约4年,困难之处在于技术债务已经赶上了,他发现几乎不可能停止对产品的支持(对此进行反复讨论)并实际进行实际开发。 我提出了各种建议,记录您的所有时间,创建故障单,不回复电子邮件等。与此相关的问题是,这似乎只是在提醒他,他没有完成任何“有用的”事情。 之所以发生技术债务,是因为首先要给产品带来很大的好处,即接受用户的请求和电话并迅速实施它们。 我想知道的是,有没有人建议他如何摆脱这种发车状态,其中很大一部分将改变用户的看法,以使他们不会以为自己会发声并期望得到一些东西。然后在那里做。 最好说计划得更好,尽管我知道考虑到支持的需求和用户的相对压力(见上文),很难计划实际的开发。

3
整理存储在代码中的SQL查询的最佳方法?(还是应该?)[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我确信我不是唯一一个在看到一页充满SQL查询的代码时感到沮丧的人。ActiveRecord和其他ORM模式有助于减少项目中使用的大量SQL,但是在许多复杂查询的情况下,SQL的使用似乎不可避免。 我正在寻找有关如何与其余代码(或外部代码)一起组织SQL查询的意见,以防止其散布到各处?一个明显的想法是使用视图,但是在处理多个大型索引表等时,视图通常会成为性能问题的源头。 编辑1-我假设您已经将其分离到模型层中

7
有没有赚钱的程序员“工人合作社”的实际例子?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 http://en.wikipedia.org/wiki/Worker_cooperative 我很好奇,在世界任何地方,是否有工人合作社专注于涉及编程,IT或某种IT或与编程相关的咨询或服务的技术业务。 上面的Wikipedia链接是该概念的概述。简短的解释是,合作社是工人所有的企业。还有一种观念,即每个工人都拥有企业股份。 我想知道是否甚至存在“程序员/ IT合作社”的例子。 注意:我既不是在谈论,也不是在问政府资助的孵化器或任何其他社会化,国家支持的团体。我也不是说“共同工作”,它是与其他自雇人员做自己的事情一起租用办公室。 我的意思是说,一个持续经营,可盈利的IT业务在一个由工人拥有和运营的竞争性环境中运营。
13 business 

4
“通知中心”模式是否会鼓励程序设计的好坏?
有时我遇到这些消息中心式的API,例如Cocoa NSNotificationCenter:http : //developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html 通常,这些API提供您在其上订阅或广播消息/事件的全局访问点。我认为这是一个问题,因为它鼓励使用扁平且非结构化的程序体系结构,其中的依赖关系在API中不是显式的,而在源代码中则是隐藏的。您不必考虑对象的所有权和层次结构,而可以使程序中的任何对象导致在任何地方调用任何代码。但这也许是一件好事吗? 这种模式通常会鼓励程序设计的好坏,为什么呢?它会使代码更难或更容易测试吗? 如果这个问题太模糊或太宽泛,请原谅我。我正在努力避免像这样大量使用API​​的潜在后果以及使用它的不同方式。 编辑:我猜想我最大的问题是这种API依赖于依赖关系和对象耦合,并且可以通过以下示例进行说明: myObj = new Foo(); myOtherObj = new Bar(); print myOtherObj.someValue; // prints 0 myObj.doSomething(); print myOtherObj.someValue; // prints 1, unexpectedly, because I never indicated that these objects had anything to do with each other

4
函数式编程-知道它是否有助于工作前景?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 目前,我使用的主要语言是C#,我对它最满意。但是,我已经开始涉猎F#和Haskell,并且真的很喜欢那些语言。我很乐意随着时间的推移提高我使用这两种语言的技能,因为使用它们对我来说真的很有趣(与Ruby相对,后者被吹捧为“乐趣”,我只是不明白乐趣所在,但是我离题了...)。我的问题针对的是已经招聘/面试过编程职位(初级/中级)的人员:如果您在履历表上看到一种实用的编程语言,是否会影响您对该候选人的看法(无论是正面还是负面)? 我对影响候选人观点的函数编程知识的理解是,因为它可以表明候选人可以适应不同的方法,并采用多维度的方法解决问题,而不是“同样的面向对象的方法”。(这可能是偏离基准的,如果这个假设也成立,请告诉我!)

10
如果我用相同的方式解决很多问题,我应该担心吗?
我真的很喜欢编程游戏和益智游戏创作者/游戏。我发现自己以相同的方式设计了许多此类问题,并最终使用了类似的技术对我非常满意的编程。 为了让您有一个简短的了解,我喜欢创建图形,其中节点用对象表示。这些对象保存数据,例如坐标,位置以及对其他相邻对象的引用。我将它们全部放入数据结构中,并在“游戏循环”中根据这些信息做出决策。 虽然这是一个简短的示例,但并非在所有情况下都准确。这只是我真正感到满意的一种方式。这不好吗?

5
Google App Engine-我们应该使用它吗?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在考虑将Google App Engine用于(目前是假设的)RTS游戏中的用户在线配对(可能无法确定排名)。但是,我刚刚读了这篇糟糕的评论,这使我感到紧张。他们解决了(或计划解决)哪些问题,这可能对我来说是个问题,还有其他选择吗?

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.