软件工程

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

4
将线程/后台工作者放在一类中是“错误的” /错误的设计吗?
我有一个可以从Excel中读取的类(C#和.Net 4),在该类中,我有一个后台工作程序,该工作程序将从Excel加载数据,同时UI可以保持响应。我的问题如下:在班级中有一名后台工作人员是不好的设计吗?我是否应该在没有该类的情况下创建我的课程,并使用后台工作者对该课程进行操作?我看不到以这种方式创建课程的任何问题,但是我还是新手,所以我认为在继续之前必须确定。 我希望这个问题在这里有意义,因为我认为在我的代码正常工作时,它不应该出现在stackoverflow上,这只是一个设计问题。

2
如何开源其git存储库中历史上拥有受版权保护的媒体的项目?
我想以免费许可证发布音频指纹识别软件项目,但是存储库包含受版权保护的音频文件。测试用例当前还使用这些文件。如何在不违反版权的情况下以最高版本历史向公众发布代码? 细节: 该代码在git下进行了版本控制。在发布之前,我们会将其全部折叠回一个分支。 有400 MB的音频数据。有些文件是来自Jamendo的免费许可音乐,另一些是我们个人收藏中的MP3。 无论采用哪种方法,我们都将始终保留原始存储库的不变副本,以免破坏项目历史。 主要问题:如何处理公开发布? 从git存储库中删除有问题文件的所有历史记录,并释放更改后的存储库。(v64 指出了执行此操作的方法。) 另外,也可以对代码的当前状态进行快照,甚至不必费心查看预发布代码的公开历史记录。 附带问题:鉴于项目的早期阶段有时需要私有代码或媒体,我们如何首先避免这种困境?

9
我应该使用多列主键还是添加新列?
我当前的数据库设计使用多列主键来使用现有数据(无论如何都是唯一的),而不是创建为每个条目分配任意键的附加列。我知道这是允许的,但我想知道这是否是我可能要谨慎使用并可能避免的做法(就像C中的goto)。 那么,我可能会在这种方法中看到哪些缺点,或者是我想要一个单列键的原因呢?

22
如何使刚接触编程的人停止问我问题并分散我的注意力?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 4年前关闭。 我现在正在读中学,并且是班上唯一拥有编程经验的人。因此,在我编写代码要求我解决问题时,人们总是在分散我的注意力。通常我会回答类似“我不知道,我从不使用”的内容,但我不想对别人说谎。 另一个问题是,我为此而出名,甚至其他班级的学生都在问我问题。我觉得这该死的烦人。 第三,如果我为他们解决问题,他们将不会从中学到任何东西。 如何阻止人们以一种友好的方式问我与编程有关的问题?

4
编译器工作-需要多少教育[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 我受到“ 作为主题的编译器构造”问题的激励,并认为我会问这个问题。 我从一些人那里听说他们有一支优秀的“编译器团队”(不要问我在哪里听到的,我不记得了),这使我想知道,如何在这样的团队中找到一份工作? 我知道本科课程中有此类课程,但是那是研究生学位最低的课程(至少是硕士学位)吗? 我将在两个月内开始攻读计算机科学硕士学位,而我要去的学校将开设两个编译器课程,这是否足以从事编译器开发工作,还是需要投入更多时间?

2
我正在将我的应用程序从iOS移植到Android:我需要知道什么?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以改善并且可以重新提出,请访问帮助中心以获取指导。 关闭 6年前。 我应该避免什么陷阱? Objective-C开发人员始终误解哪些Java语言范例?我学会了用Java编程,但是多年来我一直在用Objective-C从事任何工作。 Android和iOS之间的设计模式有何不同? 如果您自己进行了转换,那么Android的哪些部分会让您感到困惑或使您学得比应该花的时间更长? Eclipse是适用于Android的最佳OS X IDE吗? 记录下来,我的应用与UIKit和Foundation紧密相连,因此“ porting”一词可能用词不当;实际上,我将完全为Android重写它。没有代码重用。另外,我这样做是为了学习Android,所以我宁愿在端口上失败并学习Android,也不愿走捷径。 作为背景知识,这个问题是由我在Stackoverflow上看到的问题类型提示的。通常,您可以通过尝试编写Obj-C时犯下的愚蠢错误来判断某人的背景(C#或Java)。我想避免使Java开发人员大失所望的各种错误,他们说:“愚蠢的Objective-C开发人员,他们会学吗?”
15 android  ios 

10
我如何激励管理人员从事自由职业?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 6年前关闭。 我是一家小公司的开发人员。有时,我会为以前的雇主提供的自由职业或从事零工的工作提供额外的现金,这是我下班后可以做的,而不会以任何方式侵犯我的全职工作。 不幸的是,我的经理明确禁止我从事任何附带项目。他说的原因是,如果我一生中都有任何空闲时间,即使在周末,也应该花时间为他的公司工作。 我的论点是周末是我的时间,所以我应该能够做自己想做的事。其次,我扩大了我的技能,解决了我以前看不到的各种不同问题,而不仅仅是整年盯着同一项目。实际上,这将使我成为一名更有经验的程序员,并帮助我从事全职工作。 其他所有人似乎都在做兼职工作并赚取额外的现金,但是我不想让他们失望。我还能用什么其他动机来帮助老板看到这不是一件坏事?

10
分布式办公室,可行吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我一直在思考如何建立自己的梦想公司,以及如何使它对优秀的程序员具有高度吸引力。如果可以雇用一些“超级巨星”程序员,而不是许多“优秀”程序员。 我个人会喜欢的一件事是自由工作,无论何时我想。因此,如果我愿意的话,我可以在不同的城市旅行并远程工作,或者在紧缩模式下我可以坐在家里。但是,以我的经验,您确实希望与同事建立某种办公室,在这里可以讨论事情并拥有公司的“文化”。 所以说您想雇用一群可能来自不同国家和城市的顶尖人才程序员。如何设置它以与校园竞争?拥有一家完全没有办公室的公司似乎有些欠佳,您可能想要一些人们可以见面并选择工作的办公空间。 我想人们可以做的是在不同国家/地区设有小型办公室,让人们在他们选择的办公室中工作。程序员可以在需要时以“紧急模式”起飞,但也可以在需要团队合作和面对面的情况下在本地工作。 另一种模式是在其他程序员工作的办公室中而不是让您自己租用办公室。这样一来,即使您所在的城市只有一两个员工,如果您觉得远程工作“孤单”,您仍然可以找到一些公司。 另一个想法是,就像每隔一个月有一个星期一样,您将整个团队带到同一地点。可能不是办公室,而可能只是一些有趣的城市或吸引力胜地,然后从那里一起工作。但是有配偶的人可能会遇到类似的问题。 您可能还会在不同城市(可容纳2-3人)拥有公司公寓网络,在您拥有办公室的地方以及在其他一些地方,以便程序员或团队或程序员可以随意漫游并“聚在一起”。 如果这是合法的(我不确定每个国家之间有什么不同),您甚至可以一口气扑灭两只苍蝇,并在不同城市合并办公室/公寓。“黑客垫:伦敦”“黑客垫:柏林”等 a)我想我的问题是,这样的设置可行吗?一个人如何改善这个概念? b)您会发现一家公司给您这种自由的魅力吗?还是您希望拥有一家每天都有大公司的公司? 因此,从根本上说,是什么让“超级明星”程序员选择了使用像这样的公司机构,而不是在Google,Facebook或Microsoft校园工作,在那里您会得到很多有才华的人的乐趣和公司。

12
满足最后期限或更少的错误?
在理想的情况下,最好在截止日期前减少错误。但是从您的经验来看,这是更可取/可接受的: 赶在最后期限之前,但是有很多错误,因为开发人员急于解决问题 错误少,但不能完全按时完成,因为开发人员在编写代码时非常严格

12
了解无状态互联网[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我正在从桌面开发人员过渡到Web开发人员,并且无法理解为什么HTTP是无状态的。原因是什么?像我这样的桌面开发人员可以通过哪些方式过渡到无状态开发环境?
15 internet  tcp  http 

5
如何改善我的电子邮件通讯
我发给同事的电子邮件的解释 我注意到系统A出现问题。我确定这不是由X引起的。我怀疑这是由Y引起的。(因为您是由Y负责的)可以请您看看吗? (括号中的部分未包含在我的电子邮件中,因为此同事完全知道他负责Y。应该理解这就是我向他发送电子邮件的原因) 半天后,我遇到了一位同事,说:“您是否正在研究系统A的问题?” 他回答说:“哦,是的,我收到了有关系统A损坏的电子邮件,但我认为这可能是X引起的,因此我正在等待您检查它。” 显然我的信息没有被传达。这是我发送的电子邮件的全部结果,非常令人沮丧……但是,我不知道如何使我的电子邮件更清晰。它们总是尽可能简短,清晰,并尽我所能。有什么建议么?电子邮件的媒介是否固有固有的功能,对这些类型的通信而言并不有效?

8
尝试用软件调试问题/问题/错误时,通常使用什么过程?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 大多数人似乎将调试视为一门艺术,而不是一门科学。对于这里将其视为一门科学而不是一门艺术的人们来说,遇到新的问题/错误/问题时,通常使用什么流程?

11
当您是一个务实的人时,如何不遭受思想家的困扰?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我是一个务实的人(我想我是。但是话又说回来,乔恩(Jon)有一个有趣的观点)。有时候,完成问题的最简单解决方案是最适合我的解决方案,如果这不是完全亵渎和谴责任何设计原则的话。在Stack Overflow上查看我对这个问题的回答。简单。作品。被接受了。有待改进。显然不是很完美,也不是很详尽。这个家伙也随之而来。他对我投了反对票,对以下问题进行了评论:他的回答如何更好,更准确等;当我问他为什么对我投了反对票时,他在评论中称我为错误。让我想起了这部漫画。 直截了当:他的答案显然更好。但这不是重点! 在Stack Overflow上时,我会笑而不是真正关心这些事情,因为这些人相距遥远,在现实世界中,我时不时地遭受着意识形态的折磨。哎呀,我不是在创造奇迹的软件,我需要保持巨大的遗产运行,这对我来说每天都是一次冒险。我擅长某些方面,而其他方面则不好。我渴望学习东西。但是我可以接受系统中的一两个缺陷:缺陷。明天,我们将重构所有这些,但是首先让我们做客户想要的,然后再喝啤酒。 我的问题是: 当您是一个务实的人时,您如何应对意识形态/意识形态学家? 当您是一个思想主义者时,您如何应对实用主义/实用主义者? 我对这两种观点都感兴趣。

16
一种不允许注释的语言会产生更具可读性的代码吗?[关闭]
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以当前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 8年前关闭。 出于好奇,我开始怀疑一种不允许注释的语言是否会产生更具可读性的代码,就像您被迫编写自我注释的代码一样。 再说一遍,您可以编写与以前一样糟糕的代码,因为您根本不在乎。但是您有什么看法?
15 comments 

12
是否有任何尝试自行修复语法错误的编译器?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 不久前,我听说曾经有一个编译器试图通过分析上下文并推断出意图来修复语法错误。 这样的编译器真的存在吗?显然,它没有什么实用价值,但是玩和学习会很有意思。
15 syntax  compiler 

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.