软件工程

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

2
每个.NET人员应该知道哪些主要实践和设计模式?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 在作为专业程序员的短暂时间内,我看到了许多由程序员编写的应用程序,他们的整个学历似乎都在阅读.NET 2.0书中的前几章。 当我开始的时候,我写了大部分的应用程序! 对编写AWESOME .NET应用程序至关重要的最大设计模式是什么? 太棒了,我的意思是在里面!

8
Chromebook-程序员有兴趣吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 Google 昨天(2011年5月11日)发布了Chromebook。虽然这当然是一件好事,但我不知道为(非JavaScript)程序员买一个是否有趣。 你怎么看?例如,云中是否会有Java IDE?命令行,甚至?


20
编写无效代码有用吗?
您觉得编写无效代码有用吗? 有人说:“如果您有2种逻辑来执行某些操作,则不要使其他逻辑代码成为注释或删除代码,而使其成为无效代码,因为这不会影响该操作。” 例:- if(true){ // logic - 1 } else { // logic - 2 // dead code } 是真的吗 我通常不编写无效代码,而只是删除第二个逻辑。
16 java 

6
Vim键映射/插件XCode?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我是一名开发人员,主要使用ruby和C#从事网络工作。 我想开始修补iOS和Mac开发。 在过去的几个月中,我一直在尝试流利使用一组键绑定(vi / vim,因为感觉很不错)。 我在窗户上的Visual Studio上安装了很棒的ViEmu,这使我与Visual Studio电动玩具并排放置了大量的Vim效果。 xcode有这样的东西吗? 我知道我可以将MacVim设置为默认编辑器,但是我对此不太感兴趣,因为这意味着失去所有xcode的可可意识。 当然,另一种选择是使用最低的公分母并切换到emacs(因为mac键绑定很大程度上基于emacs),但我们不要考虑太久了。:P
16 xcode  mac  vim 

4
我如何得知自己开发的新(开源)库?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我正在完成一个个人项目,其中已经实现了一个我希望其他人可能想要使用的库。无需赘述,该库提供了一个跨平台接口来解析特定类型的文件,该文件以前从未存在过(至少使用该语言)。这个项目本身很有趣而且很有意义,但是我认为如果由于无知而从未被其他开发人员考虑过,那将是一个耻辱。 我如何恰当地传播有关该库的信息? 我目前的计划是: 托管一个包含源,文档,用法和/或示例的网页 回答SO问题,询问“此工具在哪里?” 联系相关领域的一些关键成员,并给他们一个提示 您认为这些步骤是否合理?您自己还能做什么?

2
代数数据类型的用途是什么?
我正在阅读有关代数数据类型的信息(感谢Richard Minerich,我对这个概念有了很好的解释)。虽然我认为我了解求和类型和乘积类型等的概念,但我不太了解的是代数数据类型在指定模式匹配之外如何有用。ADT的超出模式匹配功能还能做什么? 编辑:我不是在问开发人员可以用对象无法完成的ADT做些什么。我问是否还有ADT允许的其他操作;例如,如果使用ADT,可以对涉及的类型进行其他推理吗?如果没有它们,ADT是否可以促进某种类型的分析?

8
让用户自行收集需求还是指导他们?
我确信每个人都经历过这样的事情。您与有项目的客户开会。他们没有/很少有需求,对他们想要/需要的东西最模糊的理解。在这一点上,似乎有两个选择: 1)告诉用户,“好吧,如果您什至无法描述它,我也无法为您提供帮助。为什么您知道自己想要的东西后几个星期不回来呢”。 2)与用户会面几次,并通过良好的ole Socratic方法指导他们进行操作,帮助他们弄清他们想要的东西。“您需要跟踪X吗?”,“ Y怎么样?”,“是否需要功能Z?” 使用第一个选项,您不会被困于他人的工作或获得心理能力,但是,用户可能永远不会向您展示连贯的规范,或者随着期限的临近,他们可能会花很长时间。使用第二种方法时,您会浪费大量时间成为业务分析师,并且不得不将很多业务知识塞进脑海中,您可能永远不会再使用它,但是您更有可能提出一种规范,有道理。 对我来说,这是发展中最具挑战性的方面之一,我感到我并不孤单。根据您的经验,这些选项中的哪一个更有效?

6
作为唯一的开发人员及其后果[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我是公司中唯一的开发人员。我进行编程(在ASP.NET 4.0,jQuery和SQL Server 2008中),并维护数据库和Web服务器(在Win 2008 R2中)。 在享受自己喜欢的东西的同时,我感到自由,我觉得我可能会做不好的事情。我不使用任何SDLC图,也不使用诸如Agile之类的任何方法。我处理多个小型项目。我会利用业余时间跟上最新技术并学习和测试新事物。在过去的7年中,我一直在这样做。 我担心的是,当我将工作转给一家项目涉及更多开发人员的公司时,对我进行调整会有多困难? 既然我不遵循任何设计模式,当我寻找工作或适应新工作时,它会对我不利吗? 您能想到的其他优点/缺点吗?

4
如何与其他开发人员建立网络?
您会提出什么建议来找到交流机会或在用户组和其他开发人员场所进行交流? 例如,如果您去了代码训练营,是否会尝试与那里的其他开发人员建立网络?您将如何去做?您愿意在午餐时认识一个不认识的人做自我介绍吗? 我最近参加了一个用户组会议,觉得有点无聊。似乎只有少数人真正在与他人交谈。大多数与会者似乎都保持自己的立场。这对开发人员来说很典型吗? 我从来都不擅长网络,可能对我不认识的人有些内向,所以网络并不是我的强项。但是,我绝对想进一步扩展并结识其他开发人员。

4
每页一个控制器还是一个控制器中有多个页面?
我只是想要一些有关MVC做事方式的建议。我正在使用codeigniter,我想知道网站的每页有一个控制器还是所有页面有一个控制器更好? 假设我有一个简单的网站,您可以在其中访问主页,登录,创建帐户并与管理员联系。 拥有以下控制器会更好:frontend(index),登录名,帐户,联系人,或者拥有一个名为frontend的控制器,或者具有诸如login,createAccount,contact之类的动作的任何东西? 您何时知道在某种情况下使用一个控制器是否更好?
16 mvc 

11
如何教您的用户/客户发送更好的错误描述
我经常不得不与正在报告应用程序错误的客户或用户打交道。大多数情况下,它们的内容是无用的 错误!!! x不起作用 没有更多的信息。 为了解决问题,我必须要求它们的每个细节,这通常比解决问题本身要耗费更多时间。其他人以不理想的格式发送信息,例如(数据记录的快照,而不是错误的)屏幕截图,尽管它们可以发送链接(我们可以访问系统),等等。 您如何告诉用户/客户更详细地描述问题,从而使双方的整个过程都更加容易? 编辑 这个问题更多的是关于社交技巧,而不是如何以编程方式收集日志和错误信息。我知道以下事实:这应该是好的软件设计的一部分。

4
命令行选项样式-POSIX还是什么?
在某处,我看到有人反对使用Java和Javac混合使用Windows和Unix风格, java -classpath ... -ea ... Something 恕我直言,这是没有关系的,就像find作品一样,不是吗?AFAIK,根据POSIX,语法应类似于 java --classpath ... --ea ... Something 并-abcdef意味着一次指定6个简短选项。我不知道哪个版本通常导致更少的键入和更少的错误。 我正在用Java编写一个小型实用程序,在任何情况下都不会使用Windows风格,/a /b因为我主要对Unix感兴趣。我应该选择哪种风格?

8
LINQ高级面试问题[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 我正在为高级程序员准备面试问题中的LINQ部分。LINQ中最有趣的问题包括哪些?又为什么呢?
16 c#  .net  interview  linq 

4
什么是基于模式的编程?
有人可以解释编程中对模式和反模式的痴迷吗?我问是因为我完全不知道任何模式的含义。面对编程任务时,我会稍微考虑一下该问题,写下一些我认为相关的数据结构,为解决方案提供原型,分离出一些模块并进行迭代。在此过程中,我认为“哦,我这里需要FunkyLookyTastic模式”无处不在。

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.