软件工程

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

14
如何找出源代码中的拼写错误是否是一个严重的问题?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我发现每天在我们的代码库中看到的拼写错误非常令人不安,我将重现一个非常简短但具有代表性的示例: ArgumnetCount Timeount Gor message from queue 不幸的是,这绝不仅限于一个人。我们的团队中有很多非英语母语人士对此做出了贡献,但是我也可以指出一些最糟糕的拼写错误给我们出生,成长为美国人的软件架构师。 这些信息甚至可以在电子邮件,演示文稿,文档中找到,无论我们在软件开发公司中拥有任何书面信息。 我想知道如何确定是否是一个严重的问题? 我一直很担心遇到这些拼写错误,但是我自己的个人官方政策是,我们没有为正确地拼写事情付费,而是为完成事情而付费,因此在公司内部,我从未真正批评任何人。但是我已经和我的一些密友提出了这个问题,但从未永远解决。

4
用一种无法处理的语言处理大量数字?
我正在尝试思考如果语言构造无法处理大于某个特定值的数字时,我将如何对极大的数字进行计算(无穷大-整数不浮点数)。 我确定我不是第一个也不是最后一个问这个问题的人,但是我使用的搜索字词并未给我提供处理这些情况的算法。相反,大多数建议都会提供语言更改或变量更改,或谈论似乎与我的搜索无关的事情。所以我需要一些指导。 我会勾勒出这样的算法: 确定该语言的整数变量的最大长度。 如果数字大于变量最大长度的一半,则将其拆分为数组。(给一点游戏室) 数组顺序[0] =最右边的数字[n-max] =最左边的数字 例如 编号:29392023 Array [0]:23,Array [1]:20,array [2]:39,array [3]:29 由于我将变量的长度的一半确定为标记的起点,因此我可以计算出它们的十分之一,十分之一,百分之一等。通过中途标记进行放置,这样,如果可变的最大长度为0到9999999999之间的10位数字,那么我知道减半到五位数给我一些游戏空间。 因此,如果我加或乘,我可以使用一个变量检查​​器函数,该函数可以看到array [0]的第六个数字(从右)与array [1]的第一个数字(从右)在同一位置。 除法和减法都有自己的问题,我还没有考虑过。 我想知道支持比程序更大数量的最佳实现。

13
在算法的哪些编程领域中,运行时实际上是一个重要的问题?
有时我听到人们说,由于处理器的速度和可用内存量的原因,实际上,算法效率和运行时间并不是主要关注的问题。 但是我想在某些领域中,这种考虑确实仍然至关重要。我想到的两个是算法交易,其中必须在几分之一秒内完成数千笔交易,而嵌入式系统编程则通常缺乏内存和功能。我对这些例子正确吗?还有哪些其他领域也是示例?
15 algorithms 

6
跳到Android或先学习Java基础知识?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 我精通C语言,知道一些C ++,但从未接触过Java。最近,我想到了一个我认为有潜力的应用程序,并且想开发它。 我打算先使用Android,因为它不需要Mac / iPhone。 所以我的问题是:我可以直接学习Android开发吗?在需要的时候继续学习Java语法(毕竟,我认为它与C / C ++并没有太大不同),还是应该采取一些措施?几周的时间先学习Java的基础知识,然后再开始进行Android开发?
15 java  android 

6
如何评估面试者的学习能力?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,以便仅通过编辑此帖子来关注一个问题。 4年前关闭。 我们正在招聘一家中型公司的小型开发部门,该公司的软件不是主要业务。因此,我们正在尝试招募被我们称为高级程序员的人员。目的是找到一个可以设计,实施和维护从数据库到前端的整个新系统和现有系统的人员。 不管考生声称有经验(阅读:大规模旋转的简历)还是技术测试的结果,我真正关心的是他们的学习能力以及他们学习不熟悉的技术或概念的速度。填补他们在知识上可能存在的空白。 我如何才能对候选人的学习能力(或学习速度)有所了解?


5
Google Dart编程语言的当前状态是什么?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 Dart已经存在了很长时间(在互联网时代),但是根据Google趋势判断,它并没有受到太多炒作,而且仅在Chrome中运行这一事实也无济于事。尽管如此,Chrome每天都在获得市场份额,这使其对Dart有更好的了解。 现在的大局是什么?语言处于什么状态?人们对此高度评价吗?市场份额?Web App展示柜?一些使您“我必须使用它”的功能实现?
15 dart 


5
有关为微控制器编写高效的C代码的资源?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 这里需要认真的帮助。我喜欢编程。最近,我一直在在线阅读有关C语言的大量书籍(例如K&R)和文章/论坛。甚至尝试研究Linux代码(尽管我不知道该从哪里开始,但是窥探小型库有帮助吗?)。 我最初是一名Java程序员,在Java中相当干cut。如果程序太大,则将其切成类,然后进一步细分为函数。准则,例如,保持代码可读性并添加注释。使用信息隐藏和OOP技术。其中一些仍然适用于C。 我现在一直在用C进行编码,到目前为止,我可以使程序以某种方式工作。许多人谈论性能/效率,算法/设计,优化和可维护性。有些人比其他人压力更大,但是对于非专业的软件工程师,您经常会听到类似这样的信息:Linux内核开发人员不会仅仅接受任何代码。 我的问题是:我计划在不浪费任何资源的情况下为8位微控制器编写代码。知道我来自Java背景,所以事情已经不一样了...资源/书籍/链接/技巧将不胜感激。性能和大小现在很重要。针对8位微控制器的有效(最佳实践)C代码的资源/技巧? 此外,它还inline assembly扮演着至关重要的角色,并且坚持遵守微控制器标准。但是,效率是否有适用于所有人的一般经验法则? 例如: 随时register unsigned int variable_name;首选char。或使用 uint8_t ,如果你不需要大的数字。 编辑:非常感谢您的所有答案和建议。感谢大家为共享知识所做的努力。
15 c  performance  speed 

5
如何在Scrum冲刺中进行测试以及如何在Scrum中编写用户案例
我是我公司新项目的开发团队负责人。这是公司将使用Scrum的第一个项目。我们有一个瀑布/迭代式SDLC。BA编写需求文档,移交给开发人员和测试,开发人员开始开发并将在迭代中发布以进行测试。测试人员需要花费很长时间来测试发行版,开发人员可以通过该发行版继续进行开发,还需要修复当前发行版的错误。我有几个问题 在一个包含5个故事的冲刺中,您什么时候发布测试?是开发人员在故事完成后立即完成,还是在所有故事完成后但在sprint结束之前给出测试所需的测试时间。 如果广管局写用户故事,那么细节应该是什么。传统上,编写带有所有UI布局,行为,文本等要最终确定的规范需要很长时间。我想我的问题是如何编写可实施和可测试的故事。 我们的测试团队是非技术人员。对Scrum进行自动UI测试有多么重要。UI基于WPF。 我在使用敏捷方法(TDD,代码审查,重构等)方面拥有扎实的开发经验,但对Scrum还是陌生的。 编辑:通过迭代,我的意思是,如果有100个需求,我们可以在完成30、35、35个需求时发布测试,而不是等到所有100个需求都完成了。
15 scrum 


6
用于组织和维护项目文档,规范的软件?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 6年前关闭。 我正在寻找用于组织和维护项目内部文档,规范,要求等的软件。当前,我们将所有文档以大量MS Word DOC文件的形式存储在源代码控制存储库中,这为我们提供了版本控制,这很好。但是您无法搜索此信息,无法在它们之间创建链接,进行分类,进行协作。 要求,偏好: 客户端上零安装(基于Web)。 文档版本控制。 文档注释。 文档链接。 完整搜索(所有文档)。 MS Word(* .doc)导入\导出。 所见即所得的文本编辑器。 到目前为止,我已经发现并尝试过的系统: MediaWiki XWiki 合流

6
在模块化系统上使用版本控制的策略
让我们假设(为简单起见)我们有一个具有客户端和服务器功能的应用程序。有一个更好的主意是将一个存储库用于两个或两个单独的存储库? 混合它们可能会更容易跟踪相关的更改并维护相关的分支(即协议演化),但另一方面,会使单个开发更加混乱...

4
如何为Windows 8构建企业桌面应用程序
我认为我对Windows 8消费者应用程序开发的期望有所了解。在WinRT之上创建一个新的基于Metro的UI,通过Marketplace将其部署到您的客户中,每个人都将赢得胜利。似乎很简单。不幸的是,我不从事这项业务。 我为大型企业开发内部业务线应用程序。当前,我们使用诸如WPF和Silverlight之类的.NET技术来创建可通过Web或ClickOnce轻松部署给我们用户的丰富UI。这些应用程序可以轻松支持WinXP和Win7,并且我们的开发人员可以使用XAML,这是一种非常可靠的UI技术。 WPF和Silverlight似乎在这一点上有可疑的期货,因此继续投资于这些股票有点令人担忧。但是Metro UI似乎不适用于企业应用程序,并且WinRT API在企业应用程序需要做的“典型”事情上有很大的局限性。 我应该如何设计当前已部署到WinXP和Win7的基于XAML的应用程序,以便它们在Win8上可支持并可以发展? 出于这个问题的目的,假设ASP.NET之上的HTML5提供的功能不足以适合我要创建的应用程序。我知道我可以在某些应用程序中使用HTML5,但我试图弄清楚在不够的情况下应该怎么做。 编辑1: 这是对@Emmad Kareem的评论的回应。我同意Silverlight / WPF在短期内(2-5年)是可行的。但是,我们生产的应用程序的使用寿命可能非常长(10-20年以上)。因此,给定技术的长期生存能力是我们关注的问题。另外,我们担心,如果社区认为“ Silverlight / WPF开发”中的技术“过时”,那么找到对它们感兴趣的开发人员将越来越困难。我只是想了解我的选择,睁开眼睛做出决定。

9
我是否可以使用自己选择的语言编写客户端浏览器代码?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我会坦率地说:我讨厌用JavaScript编写客户端代码。至少可以说,我不是这种语言的粉丝。 对我来说,浏览器支持一种编程语言,而不是一种中间虚拟机(如CIL或JVM),这似乎很愚蠢。后者将允许程序员以他们选择的语言(在某种程度上)书写,而不是使用一种固定的预设语言。这种语言的发展可能会更快,因为只有对CIL / JVM /进行任何更改,都需要每个主要的浏览器进行升级。可以添加语言功能而不会影响旧的浏览器体验。 众所周知,中间语言可以节省大量的精力。除了JavaScript以外,是否有其他措施可以促进浏览器“脚本”开发,特别是在已经设计,开发和优化的虚拟机中?他们有动力吗?

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.