软件工程

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

11
作为开发人员,如果组织中似乎没有其他人关心我们,则是报告问题的工作吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 编辑: 我应该指出;我个人的看法是我应该积极主动。我知道有时候我不得不咬我的舌头,而且我想得到社区的投入(这是那一次)。 我在SO系列网站中找不到更合适的地方问这个问题。 这是场景- 小型组织<70名员工 没有Qa部门 该网站每天都有成千上万的浏览量。 我是唯一的网站开发人员 我从未有过关于该网站在IE6中损坏的投诉 我发现我们的网站已经多年无法在IE6中工作了。我所替代的创建它的人一定是仅在IE7上对其进行“测试”。我启动了Virtual PC并使用IE6,但我们的网站完全混乱了。您不能选择一些菜单项,它们太乱了。看起来糟透了。 再说一遍,主动寻找错误是我们的工作,还是只解决客户的要求? 我个人希望与组织一起利用这个机会来放弃对IE6支持或兼容性的任何期望。

5
标准代码审查包含什么?
在我的公司中,这是一封电子邮件,讨论编写代码的人所实现的功能和修复的错误。收到邮件的审阅者将审阅代码并讨论其质量以及如何根据他的意见编辑代码。标准代码审查包含什么?

5
软件开发公开演讲[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 问候我的小隔间居民。 我发现我的角色逐渐从“功能维护者”变为“功能开发者”。尽管前者的大部分内容包括修复和/或更新现有功能(并以完整的天真无声地抱怨其实现),但在这个新角色中,我发现: 必须与直接管理层进行沟通以定义开发要求以解决新功能 必须与设计进行交流以确定新功能的用户要求 必须与质量检查人员进行沟通,以确定新功能的测试集以及开发过程中的当前状态。 必须与生产者/项目经理进行沟通,以定义剩余的周转时间以及开发需求的更新。 最后,必须偶尔与高层管理人员进行沟通以捍卫新功能,并证明该功能对即将发布的版本的风险降至最低。 最后一项是关键,这使我花了几次机会才完全意识到。总体而言,很明显,沟通技巧非常重要,即使对于认为自己“拥有”正在使用的功能的开发人员而言,也是如此。 所有这些都说明了我的重要性,并希望进一步提高这方面的技能。我喜欢一对一的交流,但发现与任何一群我认识的人交谈时,我倾向于口吃。 在哪里可以找到好的资源来提高自己的沟通技巧?

14
在现代软件开发中,好的代码是不可能的吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 看起来,即使开发人员工具变得更加牢固和强大,编写好的代码也已成为挑战。即使这些工具功能更强大,代码质量也没有得到改善。我提出了两个重要因素,时间更少,项目更复杂。由于我们今天使用的工具功能更强大,因此更容易编写更复杂的代码,但是由于没有时间进行计划并且不回头,会降低代码质量,并增加错误和维护量。并不是说我们以前没有编写复杂的代码。是我们编写了更复杂的代码。 我的问题是:考虑到我们拥有更强大的语言和工具。 为什么编写好的代码更加困难? 因素,时间和复杂性是否对此有所贡献? 方法是否正确实施? 我考虑的项目类型是具有较大复杂性和业务逻辑的企业应用程序。“好代码”的定义是个人的,请不要卡在“好代码”的解释中。

11
.NET Reflector不再免费-每个人对此有何看法?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 即将在三月份发布的.NET Reflector版本将不再具有免费版本。 .NET Reflector最初是由程序员Lutz Roeder编写的免费实用程序,很快就成为许多程序员不可缺少的工具。大约四年后,他将其出售给RedGate软件,后者从那时起一直保持免费版本,以及大约一年前的“ Pro”版本,该版本增加了功能,起价为每座99美元。 新版本将不再有免费版本,非Pro版本将为$ 35,现有的免费版本仍可使用到5月底。 一方面,令人讨厌的是现有的免费版本将消失,显然我更希望有一个免费版本继续发展。另一方面,我尊重RedGate的来源,许可证的费用也不算过高。另外,它可能鼓励更频繁的更新。 编辑:我最初说的是每个人35美元,但根据此常见问题解答,仍然会有Pro版本。
19 reflector 

2
什么是RAII?例子?
总是使用RAII一词时,人们实际上是在谈论解构而不是初始化。我想我对这可能意味着什么有基本的了解,但我不太确定。另外:C ++是唯一的RAII语言吗?Java或C#/。NET呢?
19 c++ 

13
软件会议应遵循哪些礼节规则?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 7年前关闭。 无论是作为与会者,演讲者,还是供应商,我都想知道软件会议上的无礼规则。除了那些令人眼花obvious乱的东西(例如不要因为您没有赢而殴打iPad抽奖的赢家)。 即使您认为不需要说这些规则,也应遵循哪些规则? 请为每个答案制定一条规则,并以粗体显示该答案。如果您有多个规则,请发布多个答案。
19 etiquette 

6
自由软件公司的常见收入模式是什么?
人们必须吃饭,甚至是“像啤酒一样免费”软件的开发人员。所以我想知道,当这些公司不直接销售软件时,会使用哪些常见的收入模型?我知道一两个(广告和支持合同),但是还有更多吗? 正如Walter所指出的,如果您知道模型的优缺点,那么请把它们包括在内。

6
C ++中的内联函数。重点是什么?
根据我所读的内容,编译器没有义务用其主体替换内联函数的函数调用,但是如果可以的话,它将这样做。这让我开始思考-如果是这种情况,为什么我们要使用内联词?为什么不将所有函数默认设置为内联函数,并让编译器确定它是否可以用函数主体替代调用?

3
在哪里可以找到有关全球开发人员和软件公司的统计信息?[关闭]
很难说出这里的要求。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以当前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 6年前关闭。 我试图找到一个非常困难的问题的答案。问题是: 世界上有多少开发人员和多少软件公司? 例如,如果我查看“ 奥地利统计数据”页面,可以看到在奥地利有8383家公司,其35522名员工被定义为“计算机编程,咨询和相关活动”,另外还有4102家公司,其15171名员工被定义为“信息服务活动”。 此统计数字不错,但仅适用于奥地利。欧洲,美国和世界各地都有类似的地方吗?

11
您见过的最好的开源代码是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 开源的部分价值是为入门新平台或新语言的人们提供出色的示例代码。 您遇到的最好的开源代码是什么,为什么您喜欢您的选择?任何语言都可以,但是我对您可以指出的Objective-C的最佳示例特别感兴趣。 显然,这是一个开放式的问题,因此我将让问题开放一段时间,看看我们会得到什么样的答案。 谢谢! 编辑:对于“最佳”,我正在考虑遵循给定语言或平台中的惯用法的代码,以及使代码“专业”的部分-好的文档,测试套件等。代码简洁,但是不太聪明而不是非常简洁或健谈的代码。
19 learning 

4
MSDN订阅提供什么?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 5年前关闭。 我很好奇,因为我注意到Ultimate订阅的费用为$ 12,000 ...一年(之后,续订费用为 $ 3,800)。查看订购表,您会得到很多通常本身很昂贵的软件。 该软件包是供1个人使用还是像某种类型的企业捆绑包一样?如果是后者,我可以种明白这一点,但我不能完全理解其中任何人都将有12盛大扑通下来的东西,只持续12个月。 无论如何,是的,我的问题是,这对任何人来说都是一件好事吗?也许只是我没有任何行业经验,这实际上是一种窃取,数百万公司现在应该购买它,但是我个人无法想象这是物有所值。
19 microsoft 

3
使用AOP是否可以更好地解决某些问题?
我遇到过面向方面编程的想法,对此我有些担忧。 基本想法似乎是,我们要处理无法使用对象很好地模块化的跨领域关注点,并将其模块化。一切都很好。 但是AOP的实现似乎是从模块外部修改代码的实现。因此,例如,可以编写一个方面来更改当将特定对象作为参数传递给函数中时发生的情况。这似乎直接与模块的想法背道而驰。我应该不能从该模块外部修改模块的行为,否则模块的整个观点都将被推翻。但是方面似乎正是这样做的! 基本上,方面似乎是代码修补的一种形式。对于一些快速的黑客攻击可能很有用;但是,作为一般原则,也许这不是您要执行的操作。在我看来,面向方面的编程似乎是错误的做法,并提出了一般的设计原则。 AOP是一种好习惯吗?使用AOP是否可以更好地解决某些编程问题?

10
Java开发人员如何看待Scala?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我注意到IDE的支持远非如此,但该语言本身更清晰地支持函数式编程习惯用法。

5
开发人员使用复杂JavaScript UI的方法
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我试图了解围绕复杂的客户端JavaScript开发的不同方法和最佳实践的前景。 我不确定用什么来标记此类应用程序,也许是沉重的AJAX或RIA(但不能像Flash / Silverlight这样的插件)。我指的是具有以下特征的Web应用程序: 在JavaScript中模拟丰富/本地桌面UX 使用服务器作为数据API(JSON / Html-Templates),包含客户端JS中的大多数/所有行为。 这与使用Web服务器进行UI呈现相反,后者以页面刷新模型生成所有HTML。 一些例子是: Google文件/ Gmail 迈德迈斯特 关键跟踪器 随着我们逐步进入HTML5,我可以看到这种带有大量JavaScript的RIA开发风格变得越来越普遍和竞争所必需。 问题:那么,围绕这些大量的JS开发进行管理的通用方法是什么? 随着应用功能的增加,客户端代码非常复杂。使用原始JS在多个团队之间扩展开发工作时遇到了问题(或者,我听到了,并且完全可以相信)。 Google通过构建可从高级语言(Java)编译为JS的GWT来解决此问题,它依靠高级语言具有的现有开发基础结构(Eclipse,强类型,重构工具)以及抽象的浏览器兼容性和开发人员无法解决的其他问题。 还有其他工具,例如用于C#的Script#,其功能也类似。所有这些使JS更加具有IL(中间语言)的作用。即。“您再也不会真正用这种'低级语言'来写作了。” 但是,这种“编译为JS”并不是唯一的方法。尚不清楚GWT是占主导地位的方法...或确实会成为它。 人们在使用富客户端JavaScript做什么?一些定向问题: 大多数商店都在手工制作JS(在jQuery等类似的库上面)吗? 还是有许多不同的方法,没有明确的最佳实践? 大多数商店是否都在避免RIA规模开发,而转向更简单的开发人员服务器端/页面重绘模型?如果是这样,这会持续吗? 编译为JS可能是一种新兴的未来趋势吗?还是这是错误的方向? 他们如何管理客户端JS的复杂性和重构? 跨团队模块化和分配工作? 客户端模式(例如MVC / MVP等)的应用,实施和测试。 那么,在我们这个庞大的JavaScript和HTML5未来中,新兴趋势是什么? 谢谢!

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.