软件工程

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

3
异常或错误代码
我们正在构建一个Web服务(SOAP,.Net),该服务将与(大多数)本地客户端(Windows,C ++)进行通信,并且我们想知道将错误传达给客户端的最佳方法是什么(例如,不提供登录服务的SomethingBadHappened或类似未找到用户的内容),并且无法决定是向客户端抛出异常还是使用某种错误代码模型来执行上述操作。 您希望在客户端上进行处理的是:接收错误代码或处理包含错误原因的ServerFault异常? 1)我们为什么想例外:因为它将使服务器端代码有很多更均匀 2)为什么我们都在思考错误代码:因为我们认为它使从客户端的角度更有意义。 如果2)确实是真的,我们可能会想使用错误代码而不是异常代码?是这样吗? 另外,如果我们与托管客户而不是本地客户进行交谈,答案是否会改变?

6
Eclipse中Java的顶级开发人员生产力工具/插件是什么?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我个人使用Visual Studio 2010中的CodeRush进行重构,使用模板编写代码的速度更快,并且通常浏览我的代码的速度比普通VS快10倍。最近,我一直在开发另一个Android应用程序,并开始思考... Eclipse的顶级生产力插件是什么? 最好是免费的。我正在寻找可以用Java而不是PHP或Rails或Eclipse支持的任何其他语言编写的插件。

14
您认为哪个库/框架过于复杂,无法解决所要解决的问题?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 ...并“手动”编码功能? 作为一个相当隐喻的示例,您几乎不需要用于求解二次方程的库,尽管此类库确实存在并且有人认真对待它们。 作为一个更可疑的案例,根据情况,我可能会抛弃jQuery(例如,当我不需要支持某些石器时代的浏览器时):它确实简化了某些事情,但又为DOM增加了另一层复杂性和不可靠性。过度使用jQuery会导致荒谬的问题,例如最近在SO上看到的一个问题:如何a使用jQuery 为标签分配空的href ?原来这是一个HTML问题,甚至不是JavaScript。 对于许多人来说,另一个荒谬而又不明显的情况是使用在另一个模板系统PHP之上构建的一些模板引擎/语言。吸引任何人的第三层? 还有一个:有时候(仅用)吐出XML printf比使用一些怪异的XML引擎容易得多。 根据您的经验,还有其他情况吗?

9
云计算哪里去了?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我听说这个词已经有将近5年了。我已经阅读了有关Microsoft(Azure)提供的服务的信息,但是我从未见过它被主流使用。我想了解的是: 云计算发生了什么?目前的基础设施不足以实现这一点吗? 它还处于婴儿期吗? 它是否以其他形式使用,例如Google似乎提供的所有服务(以及Plus Google OS等)? 如果失败了,那为什么呢?

1
如何对数据库逻辑进行单元测试?
关于TDD,我仍然遇到一个小问题。 我需要一种方法,该方法将从数据层(linq2SQL)中获取已过滤数据的特定记录集。请注意,我使用的是从DBML生成的linq生成的类。现在的问题是我要为此编写测试。 我是否: a)首先将记录插入测试中,然后执行方法并测试结果 b)使用数据库中可能存在的数据。不热衷于这种逻辑会导致事情破裂。 c)你有什么建议?
12 c#  unit-testing 

3
孤独的程序员vs.其他一切
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 8年前关闭。 我猜您可以称呼我为“ MicroISV”,因为基本上这只是我所做的工作,以创建一种可以商业销售的产品。我敢肯定还有很多像我这样的人,所以这是我的问题: 除了在编程/编码方面可以使您的代码外,您还可以DIY或出售所有其他产品吗?例如,网站创建,互联网营销,会计/税款,公司会议记录,客户支持,设置电子商务/银行业务,服务器管理,采购等。 所有这些活动似乎都不在我擅长的领域或没有足够的耐心/时间,但是我不知道替代方案是否太不值得信赖或太昂贵,以致于没有必要尝试种田将这些任务交给其他人(例如本地公司,oDesk上的供应商等)。 我当然可以理解,想要将所有这些任务“内部”保存(例如,我自己)以保护策略,计划,代码,银行帐号等私人物品,但是将这些任务外包真的有那么大的风险吗?你有什么经验?
12 business 

6
您如何使电子邮件简短而完整?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 我是喜欢写作和解释的奇怪的开发人员-电子邮件,规范,如你所愿。我乐于帮助人们深入理解事物。我讨厌乒乓球通讯,因为小组中有25%的人误解了以前那封破折的电子邮件,其中作者只解释了一半的位置,或者匆忙而写错了,因为小组中有30或40封电子邮件,电话和会议批评性的字眼,或排除否定的一两个字。 此特征非常适合用于文档记录,但是我的电子邮件很长,因此人们根本不阅读它们。我使用的一些策略是将长电子邮件格式设置为附加的Word文档,以鼓励人们将它们视为文档(有时效果非常好),或者尝试使用更多的项目符号代替免费的段落。这些策略增加了读者群,但是内容仍然很长。 当然,我想大声疾呼,复杂的技术主题需要大量说明和澄清,但这对任何人都没有帮助。显然,可以进行权衡取舍,但我很难证明做出的陈述不明确,否则以后将引起一百万个问题,误解或增加“条款和条件”。 您如何保持简短而完整的沟通?

7
您如何根据时间(年)来量化能力?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 一段时间前,当我通过代理机构寻找工作时,我一直在向招聘代理商或以下申请表提问: 您有多少年的经验: 甲骨文 ASP.NET J2EE等等等。。。 起初,我忠实地回答了……5年,7年,2年,无,几个月等等。 然后我想;我可能做了7年的浅浅工作,而没有能力胜任,仅仅是因为我只是对运行SQL2000的旧系统做少量支持,而这在过去7年中需要10天的时间。最终我拒绝回答这样的问题。 我不知道他们为什么再问这些问题。刚从计算机科学专业毕业的任何人都可以在课程中“碰触”任何东西,声称拥有3至4年的经验,在我看来,这相当于零年或十年,具体取决于您如何看待它。 数十年前,程序员和IT技能的天性完全不同,这可能是正确的。我可能错了,但我真的怀疑“时间”或“年限”是否足以胜任能力或经验。 欢迎任何意见/反驳!
12 resume  skills 


5
为什么要用最少的用户/手写代码来完成XAML中的所有工作?
我觉得MVVM社区已经像90年代的OO程序员一样变得过分热情-这是一个错误的称呼MVVM是没有代码的代名词。从我关闭的StackOverflow问题中: 我多次在这里遇到有关某人试图在XAML中完成等效操作而不是在后面编写代码的帖子。他们唯一的理由是他们希望将代码保持在“干净”的后面。如果我错了,请纠正我,但事实并非如此: XAML也被编译为BAML,然后无论如何在运行时都必须将其解析为代码。XAML可能具有更多的运行时错误,因为编译器在编译时不会从错误的拼写中拾取它们,这些错误也更难调试。后面已经有代码-是否喜欢InitializeComponent(); 必须运行,并且其中的.gics文件包含一堆代码,尽管它可能是隐藏的。这纯粹是心理上的吗?我怀疑是开发人员来自网络背景,喜欢标记而不是代码。 编辑:我不建议在XAML后面编写代码-两者都使用-我也希望在XAML中进行绑定-我反对采取一切措施避免在WPF应用程序中的esp后面编写代码-这应该是两者都可以最大程度地发挥作用。 更新:这甚至不是微软的想法,MSDN上的每个示例都展示了如何在两者中都可以做到。
12 c#  wpf 

3
您是否会因为“管理不善”而分叉一个开源项目?
如果您知道一个开源项目的组织者 真的很忙,因为他没有那么多保养 而且他是那种直到几个月后才开始接受捐款的人(我想很忙),如果有的话 这个项目开始陷入困境 您是否会分担这个项目,给它起一个新的名字,然后继续努力工作,并围绕它建立一个新的社区,这对于编写贡献更加鼓励?基本上,一个更好的管理项目,因为现在关注的是糟糕的管理。

4
工作场所中的GPL?
我曾经在一家咨询公司接受过采访,谈话中他们谈到他们使用开源产品(这很棒,我已经广泛使用了Hibernate,JBoss等。)令我惊讶的是,当我问到是否他们在为客户编写应用程序时使用了GPL许可的OSS,他们说:“当然,一直如此!只要客户得到了他们想要的东西并且感到高兴。” 现在,我不是律师,也不是大批执照的人,但是我给人的印象是,使用GPL代码(假设您包括了一些库),那么您需要在同一执照下发布整个应用程序。当我指出这一点时,我得到了一个快速的回答:“好,完成后,我们将所有源代码提供给客户,因此这实际上不是问题。” 不想进一步强调这个问题(采访不是像这样的争论的地方),我让它滑下来。但是,这仍然使我担心该业务的特定实践。GPL许可代码的正式字词是什么?它需要“开放”吗?您是否必须发布并说“我的公司使用了这个库,所以您可以在这里下载我们花费数百万美元构建的购物和订单履行系统应用程序”。在这种情况下,公司是否有权在客户不知情的情况下使用GPL代码?仅“给他们源头”就足够了吗?

4
一周的发布周期:如何使之可行?
在我的公司(拥有3年历史的网络行业初创公司)中,我们的产品团队经常遇到这样的问题:“哦,现在这是一个危机补丁!” (不是每个人吗?) 这会影响包括自我在内的工程人员的生产率(和士气)。管理层花了一些时间思考如何减少这些当日请求的频率,并提出了我们每周都会发布的解决方案。(以前,我们每两周进行一次,通常会拖延几天左右。) 有13位开发人员和6位本地/ 9位离岸测试人员;从理论上讲,只有4个开发人员(和所有测试人员)才能处理偶数版本的发布,除非要完成的工作确实需要其他开发人员中的一些专门知识。每个周期将包含两天的开发工作和两天的质量检查工作(加上1天的范围界定/分类/ ...)。 我的问题是: (a)在这个发布周期的长度上是否有人有经验? (b)是否有人听说过试图释放的时间如此长? (c)如果是(a)或(b),您在地球上如何运作?(也应避免任何陷阱,以此类推。) (d)如果这项努力失败了,我们如何才能使损害最小化?

7
[平台]用户组会怎样?
我是.NET开发人员,但从未参加过.NET用户组会议或类似的会议。 我可能很快就有机会开始参加一个活动,但我想知道。用户组会发生什么?我并不一定要专门寻找有关.NET的信息,但它们是首选。 除了联网的机会,您还能从中得到什么?


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.