软件工程

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

3
有人在编译代码方面做过硬件基准测试吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我见过很多网站,它们对游戏性能上的新硬件进行了基准测试,压缩了一些文件,对电影进行了编码等等。是否有任何测试可以测试新硬件(例如SSD,新CPU,RAM速度等)对编译或链接速度(Linux或Windows)的影响? 找出最重要的编译速度并能够专注于该速度,而不是仅仅从其他基准进行推断,将是非常好的。

15
重构:这仅仅是清理代码的幻想吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 在马丁·福勒(Martin Fowler)的书《重构:改进现有代码的设计》问世之前,我们习惯将对代码的主要更改称为“重新架构”,而将较小的更改称为“清理”。IMO,重构技术都是常识/我们一直在做的显而易见的事情。 您认为重构曾经是新事物吗?也许只是一种诱使管理人员分配时间进行代码清理的方法?

12
纯维护程序员如何加薪?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 我已经担任维护程序员两年了,想知道是否有维护工程师加薪之类的事情?我问,因为责任并没有扩大,您仍在做几乎相同的事情,也许随着时间的流逝会更快一点。如果有可能,那么获得它的途径是什么?

13
数据结构应该集成到语言中(如Python)还是在标准库中提供(如Java)?
在Python以及最有可能的许多其他编程语言中,可以将常见的数据结构作为具有专用语法的核心语言的集成部分。如果我们不考虑LISP的集成列表语法,我想不出任何其他知道的语言,它们在数组上方提供某种数据结构作为其语法的集成部分,尽管所有这些语言(但我猜都是C)似乎在标准库中提供了它们。 从语言设计的角度来看,您对在核心语言中为数据结构使用特定语法有何看法?这是一个好主意吗?语言(等等)的目的是否会改变它的选择余地? 编辑:很抱歉(显然)引起了我所指的是哪种数据结构的困惑。我谈论的是基本的和常用的,但仍然不是最基本的。这不包括树(过于复杂,不常见),堆栈(很少使用),数组(过于简单),但包括例如集合,列表和哈希图。

12
开发游戏是学习编程的最佳方式吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 我最近听到一位指导老师的话,开发游戏是学习编程的最佳方法。除了必须使用代码创建所有内容外,他还说,您确实可以充分体验并将OOP实施到您的程序中。换句话说,您在游戏中所做的一切从技术上和概念上都是文字对象。进行此假设是否安全?还是在学习编程时总会有例外? 请注意,它是针对.net / xna / c#开发的。


10
将您的职业转向另一种编程语言
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 我会追逐的。我正在寻找有关经验丰富的开发人员如何说服准雇主使用其他语言的职位的建议。满足其他非语言特定要求(知道版本控制,OO,学位等)。例如,一个经验丰富的PHP开发人员希望移至Perl职位。可能吗 会有多难?语言依赖吗? 编辑:我得到的答案证明了这个社区的未来确实是光明的,但可悲的是,它只允许我选择一个答案。谢谢您的答复。

5
我应该用什么语法时态写规范?
我们目前正在以两列格式编写功能和技术规范;摘要句子和技术细节。细节通常是指带有图表,布局设计等的附录。 但是我正在努力用什么时态来写它: 以过去的时态好像工作已经完成了,我努力地展示出现有工作的重点扩展。需要完成的将来时态X听起来很像一个待办事项列表或时态中立,因为它要么已经完成,要么已经完成。 更进一步的混淆是,英语不是第一语言的人们可能会阅读本规范。

7
开发者应该知道/解决什么以构建商业Android应用程序?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 Android和移动开发是令人兴奋的开发领域。由于这是一门新学科,因此,对于Android开发人员而言,在技能方面构建强大的商业应用程序会有什么期望?我以及我认为该技术的许多其他“新手”都想知道的问题是技术领域以及向必需的高级主题发展的过程,这些问题超出了Google提供的基本知识。有很多信息非常有用,但是没有按纪律或秩序分类。 更新:这样看。如果您是高级开发人员,并且需要让同一个同事在特定项目上使用Android加快运行速度(此问题您可以自行决定),您将怎么办?
21 learning  android 

9
学习算法成为一名真正的程序员是否必不可少?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我是一名PHP程序员,直到现在我还不需要学习算法。 现在,我开始学习Python(一种真正的编程语言),因为我需要使用matplotlib。从阅读Python算法书籍开始然后学习matplotlib和numpy是否有意义,还是我应该跳到matplotlib和numpy? 最好的祝福,

19
您如何向一个7岁的孩子解释多线程处理?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 如果您必须向一个7岁的孩子解释多线程的概念,您将如何做?我最近在一次采访中遇到了这个问题。我想出了一个使用工作(要完成的任务)和工作人员(线程)的故事,但这并不完全令人信服(认为孩子还太小)。 如果要求您描述这一点,您将如何做?

7
通过将库移出进程来避免违反GPL
假设有一个根据GPL许可的库。我要使用它是封闭源项目。我这样做: 围绕该GPL库创建小型包装应用程序,该应用程序侦听套接字,解析消息并调用GPL库。然后返回结果。 发布其来源(符合GPL) 在我的主应用程序中为此包装创建客户端,并且不发布源代码。 我知道,与静态/动态链接相比,这会增加巨大的开销,但是我对理论方法感兴趣。
21 licensing  gpl 

4
如何建立“品质崇拜” [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 DeMarco和Lister(Peopleware)建议您在编程团队中创建“质量崇拜”。令人沮丧的是,他们没有建议您如何去做! 有人对如何实现这一目标有任何想法吗?

12
如何使客户脱离Flash网站?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我最近仅通过口口相传的建议就做了很多网络方面的项目。尽管无论如何我都不是一个程序员,而是一个设计师,但是我的设计技能并不可怕,并且不像许多程序员那样讨厌UI。结果,我发现自己被吸引到了一些附带项目中,除了用于内容管理的最小后端外,大多数编程都在前端接口上(请阅读javascript / css)。 到目前为止,我最大的挫败是说服客户他们不希望使用Flash。除了我真的不喜欢Flash“开发”这一事实外,还有很多不希望使用Flash的实际原因(设备之间缺乏兼容性,客户端可访问性下降,插件需求减少,开发时间增加等)。我不只是直言不讳地告诉客户“我不会为您建立一个Flash网站”,而是更愿意使用策略说服/向他们解释这不是他们真正想要的,即:满足他们的要求要比标准html更好/ css / js并分散用户的注意力。 别人对此有什么样的第一手经验?您如何向某人说明javascript / css / AJAX通常是大多数网站的更好选择?为什么人们一开始就想使用Flash这么糟糕? 这个问题适用于那些没有任何技术原因想要使用Flash的客户,只是因为他们认为Flash制作漂亮的网站而想要它。
21 javascript  html  css  ajax  flash 

8
Perl的新手应该同时学习Perl 5和6吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 最近,我开始使用Perl 5,这似乎非常有趣。我想花一些时间尽可能地深入学习它。 我的问题是,由于Perl 6的发展缓慢(我相信...),并且据说破坏了向后兼容性,所以我的问题是:我最好是先学习Perl 5,然后再学习Perl 6,还是直接学习Perl 6更好的时间投资?给你? 如果从Perl 5到6的更改使您很难理解Perl 5,我当然应该从Perl 5开始,以便能够阅读“旧”脚本,然后检查Perl6。还有“ Perl 6尚未完全完善”。发布”问题。我知道Perl 6有一个较早的采用者实现,但是如果Perl 6在几年以后才正式发布,那么我现在会坚持使用5。 我当然希望对此有所了解。随意讨论相关的东西。我对脚本语言的兴趣还很新。 谢谢!

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.