软件工程

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

2
如何在不破坏现有代码的情况下将PHP名称空间部分添加到库中?
多年来,我公司创建了一个模块化PHP框架,早在PHP 5.3添加名称空间之前就已经开始。最近,我们决定开始在库的新代码中使用名称空间,并且我们最终打算在旧代码中使用名称空间。但是,我们有一些问题正在尝试解决,以确定是否将名称空间添加到v5.3之前的代码库中不是一个好主意: 我可以为一个类命名空间,也可以导入(使用)全局命名空间,以便所有全局类都不需要\前缀吗? 如果我们在库中为现有类命名空间,那么如何在框架升级后防止所有现有项目中断?例如,库可以将class的名称更改ThemeEngine为\module\theme\ThemeEngine,但现有网站ThemeEngine无需任何代码修改即可调用吗?如果是这样,该代码将是什么样?
10 php  namespace 

6
IDE的哪些功能将使其比通用编辑器更有用
我正在为Lua语言编写IDE。我发现许多程序员不喜欢使用IDE,而更喜欢VIM(目前正在流行),SCiTE或。 为了赢得大家的关注,我对IDE可以提供的功能感兴趣,这将使它成为通用编辑器的替代品。 是否有一个“杀手级应用”,可以说使它成为“必备”的IDE? 这可以被认为是 VIM最有用的功能,这些功能在IDE中不是标准的 除非有人询问,否则我不会链接到我的IDE,但是您几乎可以用Google我的名字找到它。 编辑:我的IDE实际上是现有IDE的语言插件,所以我确实从主机IDE继承了许多功能-尽管某种程度上我的语言支持本身就是一个IDE,但至少在语言特定方面关心。
10 ide  text-editor 

3
XML与SQL小型项目?
我正在做一个小项目,因为它是本地应用程序(在WPF和C#中开发),所以一次只能有一个用户。为了存储数据,我曾考虑使用XML文件,但我想知道这是否是最佳方法。 数据用于什么: 舍杜勒斯 文件夹中的文件库(带有艺术家名称,标题,HDD上的位置) 可能基于统计数据进行统计 ... 我想像中有关该库的信息会很好用XML,但是对于其余所有信息我都不太确定。同样,就开发速度而言,LINQ to SQL似乎比LINQ to XML更具收益。这是正确的还是我错了?我不确定是否应该将其发布在SO上或此处,但在这里似乎更合适! 先感谢您
10 sql  wpf  xml 

5
我的跨国公司如何从一个开发平台过渡到另一个平台?
我在一家大型国际公司的IT部门工作。我们正在为业务开发不同的Intranet应用程序(投诉,回扣,服务台等)。现在,我们决定从PHP平台迁移到.NET(与MS CRM Dynamics,Exchange和MS Office集成是许多原因之一)。由于企业在当前的PHP平台上使用大约20种不同的应用程序,因此我们将不得不提出最佳方法将它们全部迁移到新平台上。我不想详细介绍如何转换代码等,因为在进行迁移时,我们希望改进所有这些应用程序。 因此,我们提出了两种移动这些应用程序的主要方法: 仅支持一个平台。什么意思 创建主页,然后将所有应用原样迁移到.NET(在这样做的同时不会对其进行改进)。在新的Intranet运行之后,我们将开始重建迁移的应用程序并对其进行改进。这样可以节省我们在.NET中开发Intranet的时间,而不必支持PHP平台。 同时支持这两种平台。这意味着仅构建一个主页和1或2个新应用程序(在我们的PHP平台上不存在)。向用户提供这些功能,但不取消PHP平台(我们将合并菜单和链接,以使用户可以更轻松地在PHP页面上的应用程序和新页面之间切换)。然后,我们将在改进它们的同时开始重写PHP应用程序。 现在,我不确定会有什么更好的选择,一方面(选项1),我们可能会通过不强迫用户同时使用两个不同的平台来使用户更轻松。尽管他们认为新平台不会带来任何改善,但除了看起来更好之外,新平台上的应用程序功能在一段时间内将保持相同。另外,我认为我们会增加自己的工作量(IT部门),因为本质上我们会为每个应用程序编写两次。 另一方面,由于两个平台的外观不同,选项二(2)的用户体验较差,但是随着新应用程序的不断发展,他们将意识到新平台的优势。 你们有没有遇到过类似的事情?您会选择什么?或者,也许还有其他更好的方法可以代替我介绍的那些方法?我想知道您的想法以及如何处理。
10 migration 

15
忽略质量/标准的软件开发人员是否对公司更好?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 选择不将代码优化,标准和最佳实践作为重中之重的软件开发人员,是否比那些担心优化,编码标准和实践的执行不如准时完成任务的开发人员创建更多有用的代码? 在进行个人绩效评估时,这些不同的方法有何比较? 这些样式在同行评鉴中如何比较? 在SDLC期间影响您的团队实施更多最佳实践的最佳方法是什么?

2
Java类版本特定的命名约定
我必须在两个软件(机械仿真,非CS)之间创建一个适配器。假设我们有一个名为的类ThatThing。我必须处理各种特定于供应商的实现。这些版本没有有意义的名称(与日食日光灯,靛蓝等不同)。 1.我应该如何命名一个应该表达版本号的类? 我觉得像上课ThatThing_3_6_Impl,ThatThing_3_7_Impl很尴尬。
10 java  naming 

5
C语言中的API设计陷阱
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 有哪些缺陷使您无法使用C API(包括标准库,第三方库和项目内的标头)?目的是确定C语言中的API设计陷阱,以便编写新C库的人们可以从过去的错误中学习。 解释为什么缺陷不好(最好举个例子),并尝试提出改进建议。尽管您的解决方案在现实生活中可能不切实际(修复为时已晚strncpy),但它应该提请未来的图书馆作家。 尽管此问题的重点是C API,但是仍然存在影响您以其他语言使用它们的能力的问题。 请为每个答案给出一个缺陷,以便民主可以对答案进行排序。
10 c  api-design  pitfalls 

3
学习如何在InterviewStreet上解决问题的好方法[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 可能重复: 如何适应面试前的挑战性问题? InterviewStreet是一家新公司,从本质上讲是公司寻找可以编码的程序员的过滤器。我的问题是我的数学还很弱,我想研究一下,即使它是从头开始的,也能够解决在他们的网站上发现的诸如此类的问题: Find the no of positive integral solutions for the equations (1/x) + (1/y) = 1/N! (read 1 by n factorial) Print a single integer which is the no of positive integral solutions modulo 1000007 现在,请不要发布该问题的答案,它直接来自InterviewStreet,不应在此处发布。这不是我在此线程中寻求的答案。我要问的是一个更基本的问题,SO社区中的某些黑客可能会回答。 如何为这样的问题做准备?我可以使用哪些资源来学习/学习如何解决此类问题?麻省理工学院开放式课件涵盖了这一点吗?可汗学院?有什么特别的书吗?我什至不确定从哪里开始着手解决上述问题,我想学习可以采取哪些步骤。


3
进行较小的JVM升级有多安全?
我从事JVM已有多年的经验,很少遇到JVM崩溃的情况,直到大约6个月前。 从那以后,我经历了大约2个JVM缺陷导致的5个JVM崩溃。Oracle的解决方案始终是相同的...升级。 每次升级始终是从一个点发布到另一个发布的……也就是说,Oracle的最新建议(在确认他们确实修复了该错误之后)是从1.6u20升级到1.6u26。 我应该如何关注JVM的次要版本? 这是否是需要进行大量回归测试的大事件,还是应该接受的安全升级?
10 java  oracle  jvm  upgrade 

9
根据应用程序的重要性来奖励程序员
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 管理层赋予在战略性和重要应用程序上工作的程序员比在一般应用程序上工作的程序员更多的重要性或奖励程序员是否正确? 两者可能付出了相同的努力。
10 management 

2
B树与R树相比-是不是一堆链接在一起的链表?
我对B树非常熟悉,主要是必须使数据库充满电力,空调和硬盘空间。我与一个双(doubl [ie,ey]?)链接列表相关联。 今天,午餐时的一位开发人员提到了R树。 我跳上维基百科,开始阅读。这听起来像高大的B树。不幸的是,由于缺乏深厚的数学背景,很难理解我的一些同事在谈论什么。 我希望有人能阐明B树和R树之间的一些区别。无论如何,我可能最终都会问这些家伙,但是不能保证他们会回答我的问题。他们很有可能会开始对上帝God不休,知道什么。。。

6
改变了客户的世界-我们该如何处理?
不久前,我们的任务是进入一个项目,并使用SQL Server作为后端,用新的Intranet ASP.NET解决方案替换客户的旧Mainframe系统。部分原因还在于业务的重新设计-本质上,随着我们更换系统,我们正在考虑如何更好地开展业务。 因此,第一个任务是进入并执行逻辑和物理数据模型。客户参与了这些讨论,并已完成签收。下一阶段是实际进行每个模块的设计和构建。好了,总而言之,编程已经完成,我们现在正在对该系统进行并行测试。到目前为止,对于大多数模块来说,一切都进行得很顺利-除了一个。 我们拥有一个系统-如果您仅让业务用户查看应用程序和报告,一切都会很好。它与新的集成工作流程一起使用,可以自动执行以前的手动流程,并且可以按规格执行。并行测试发现了与迁移的旧数据有关的一些问题。遗留系统的构建者很难理解新的架构和业务流程,因此,他们很难理解如何获取遗留数据并将其放入新的架构。因此,他们召集业务用户和利益相关者开会,并告诉他们新系统没有提供旧系统所做的数据(实际上确实如此),这确实使新系统看起来很糟。 至少可以这样说,这令人沮丧。新系统运行良好,可提供他们需要和想要的一切,如果不是由于IT员工无法用旧数据填写新表,则业务用户将对新特性感到满意。 我正在寻求有关如何处理此问题的建议。由于采取了一些政治措施,新的“架构师”对系统的工作原理一无所知,并且无法完全理解IT员工要求的变更的后果。IT员工希望对系统进行一些根本性的更改,这些根本上不必要的更改实际上是一个糟糕的设计-但他们是客户。 有什么想法吗?

3
MVVM还是MVC?想要为WPF和ASP.NET使用相同的类集
就设计模式而言,我是新手。当我听到新的嗡嗡声MVVM时,我才开始学习MVC。 我想通过重新设计为客户开发的旧库存和开发票应用程序来学习这两者的见解。我想同时编写一个基于Windows的WPF应用程序和一个基于Web的版本。如果可能,我想使用相同的类集,如果没有,那么至少要稍加修改。 我读了几篇文章,但是我没有遵循那里讨论的.NET 3.5和4的体系结构和高级概念。我只想设计我实际项目中真正需要的东西,就一步一步地前进。 是否有关于MVVM的简单分步参考?MVVM是MVC的超集还是子集?对于我的应用程序的Windows和Web版本,哪种模式是现代的,应该选择哪种模式? 有些类几乎不需要与View连接。在那种情况下,以MVVM方式设计相同的类将被证明是一项额外的工作。
10 mvc  wpf  asp.net-mvc-3  mvvm 

7
阅读旧的Java编程书籍是否有益?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 6年前关闭。 我的许多Java书都有5到10年的历史。它仍然对阅读有帮助吗,还是我应该在两年内使用某些东西。

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.