软件工程

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

12
是什么使敏捷软件开发如此吸引人?
如今,敏捷软件开发已成为一个非常有趣的流行词。 作为开发人员,我了解迭代开发的实用价值,但是(通常),并不是开发人员选择采用敏捷方法进行软件开发的选择。这是自上而下的管理选择!无论是水晶,敏捷方法,dsdm,rup,xp,scrum,fdd,tdd,您都可以命名。这不是开发人员的选择。 对于所有在那里的经理来说,当大多数经理甚至没有接触过一段代码时(根据我的经验),选择进行敏捷开发的最大原因是什么!

2
对于特定于语言环境的单元测试,存在哪些实践?
我们最近在我们的应用程序中发现了一个特定于区域设置的问题,尽管很容易解决(一旦我们弄清楚了发生了什么),但它使我的团队正在考虑这方面的单元测试实践。 我们希望尽早发现这些问题,最好是在客户发现它们之前,并且我们希望将来避免重新引入特定于区域设置的错误,但是在至少一种其他文化中复制每个单元测试似乎很多高架。 您如何或将如何进行多语言环境单元测试?

3
危机中的编程
我很难将其变成一个正确的问题,但是这里... 你们中有些人可能听说过澳大利亚昆士兰州发生的洪水。好吧,我现在在布里斯班的郊区。自从星期二以来,这条河一直在缓慢地向我家爬行。今天早上我去上班时,它通常在几公里外,离公路只有二十米。 在抵制罢工的几小时内,政府已经有了一些相当不错的Web应用程序供人们获取有关正在发生的事情以及预计洪水将在何处增长的信息。他们还建立了一个数据库,供人们搜索亲戚的下落,或者可以注册他们的位置以供他人查看。 以前有人参与过这类项目的开发吗?有趣的是,他们似乎可以在不到一天的时间(一般开发机构最多只花几周的时间)就推出该软件。它与“正常”项目有什么不同?还有其他想法吗?

3
Web API如何工作?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我听说过许多Web API,例如Facebook,Twitter等,它们可以帮助第三方访问和操纵数据。我想知道Web API的工作原理。Web API的基础知识是什么? 如果我想为我的网站创建一个API,以便人们可以访问或更新它,那么我首先需要做什么?

1
如何快速有效地编写功能说明
因此,我只是在这里阅读了Joel的一些精彩文章。(写于2000年!!)我阅读了全部4部分,但是我正在寻找一些系统的方法来编写我的规范。 我是唯一一个孤独的开发人员,他为一家非常著名的金融公司从事这个相当复杂的应用程序(或应用程序系列)。 我从来没有做过这么严重的事情,我开始写一些类似糟糕的规范之类的东西,这浪费了我很多时间。 我还为客户制作了3个样机样的东西,所以我对他们想要的东西有很好的了解。还发布了预览版(带有最基本工作流程的废弃应用程序),并且我仅编写和测试了一些非常核心/基本的系统。 我认为到目前为止,我一直犯的错误不是写详细的规范,所以我现在就开始做。 所以整个事情包括 MVC网站(用于管理员和数据查看) 2个Silverlight模块(用于2个特定任务) 1个桌面应用程序 我的时间,资源都非常短缺,需要快速完成此工作,还需要确保这些人同样快速,轻松地阅读。 那么如何做我去一下,我正在寻找任何提示,任何现实世界的东西,怎么做你们平时做呢? 您是否对每个对话框/表单/页面都进行了模拟筛选? 我正在考虑制作一个虚拟的ASP.NET Web窗体项目,然后在文件夹中填充HTML文件并使它看起来像我的MVC URL结构。 然后在网站的规范中列出一个部分,并为我与Screenie在一起的每个URL编写一个页面。 对于我赢窗体应用程序,我做了有些演示赢形式的项目,我会再放入一个对话框或结构的一切,我会在真正的应用程序,然后截屏呢? 对于这个问题有一些背景知识。我一直是一个疯狂的跳到代码的家伙,工作正常,但对于我正在开发的应用程序,它不仅复杂,而且对于一家非常知名的大型公司来说,我必须得到它对! (到目前为止进展顺利,今天我给出了很多人喜欢的预览版本的演示!= D) 如果我确实获得了最初的设计权利,那么我将对该公司也有一个不错的生意,已经有很多人在考虑新的“很棒的”功能,他们准备为此付费。

6
如何控制Web开发的复杂性?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 在我职业生涯的大部分时间里,我一直是服务器端程序员,但直到最近才开始在Web开发上花费更多的时间。我为编写一个像样的Web应用程序需要掌握的东西而感到惊讶。只是列出了我需要学习的一些工具/技术, 服务器端编程语言(Java / JSP,ASP,PHP,Ruby或其他) 体面的Web框架(适用于任何中型到大型应用程序)。 HTML和CSS Java脚本 Javascript库(主要用于AJAX的JQuery / ExtJS等)。很高兴知道,即使没有必要。 至少具有网页设计的基本知识-布局,颜色,字体等。 对网络安全性有很好的了解。 对性能/可伸缩性问题有很好的了解。 测试,浏览器兼容性问题等。 清单继续。 因此,我对经验丰富的Web开发人员的问题是-你们如何设法学习并保持自己在很多事情上的最新动态?在开发Web应用程序时,如何处理这些领域中涉及的复杂性,同时又设法编写设计良好,用户友好,安全,性能良好且可扩展的应用程序。 作为一名Web开发人员,是必须成为所有行业的杰作,还是应该专门从事一两个领域,而将其余的留给团队的其他成员?

5
为什么PHP函数签名如此不一致?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我正在查看一些PHP函数,但我不禁注意到以下内容: <?php function foo(&$var) { } foo($a); // $a is "created" and assigned to null $b = array(); foo($b['b']); var_dump(array_key_exists('b', $b)); // bool(true) $c = new StdClass; foo($c->d); var_dump(property_exists($c, 'd')); // bool(true) ?> 注意array_key_exists()和property_exists()功能。在第一个中,属性名(数组的键)是第一个参数,而在第二个中,属性名是第二个参数。凭直觉,人们会期望它们具有相似的签名。这可能会导致混淆,并且通过进行此类更正可能会浪费显影时间。 PHP或任何与此相关的语言是否不应该考虑使相关功能的签名保持一致?
17 php  naming  functions 

6
谁可以学习编程?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 与教授交谈时,我总是会犹豫,要设法提高拥有CS型学位的人所占的百分比,而不是开始认为自己想要的人的比例。一方面,我确实确实认为,让专业人士参与并提供反馈非常重要,另一方面,如果较少的中等学生获得CS学位,那就更好了。 我认为并不是每个人都为这个领域而生,因此您必须成为一名终身好学生。您必须具备高度的耐心和解决问题的能力,以备不时之需。如果您确实有“正确”的大脑,那么这些难题将驱使您继续前进。如果您只是一小堆容易解决的问题,就会感到无聊,因此这些人实际上并不擅长重复性工作。我不需要进入所有细节...如果您正在阅读此书,您可能知道我在说什么。 所以问题是:您如何找到学位课程的平衡,可以让足够多的人获得资助并被认为是成功的,但是却没有找到真正没有工作机会的人?也许更好的问题是,您使用什么度量标准来了解学位课程中所做的更改是否使其变得更好?我不知道更高的毕业率是一个很好的指标。看来,多年以后您可能试图收集的有关毕业生所从事工作的反馈可能会太迟了。 我已经为这个问题苦苦挣扎了很长时间,主要是因为我认为没有答案。但是我想问一下是否有人知道对它进行过任何研究。 另外:最近我有一位非常明智的教授提醒我,并不是每个拥有CS学位的毕业生甚至在真正意识到这意味着什么后,甚至都不想成为一名全职程序员。但是,通过他们的教育,他们可能会成为出色的项目经理,经理,系统管理员等。我认为这是一个很好的观点,我在这里没有考虑过。有很大比例的人最终没有在他们所专业的领域工作,CS也不例外。拥有更多的人不仅可以帮助他们节省学位的预算,而且可以扩大仍对编程工作足够了解的非程序员的比例。
17 skills 

8
程序员忘记语法
好的程序员在编写代码时是否需要掌握语法?如果他们在网上搜索简单的商品,您会怎么看?他们是好是坏(也许他们知道在哪里寻找)?程序员应该有一个美好的记忆吗?这是一个好的程序员的特质吗?

4
“要快速编码,必须退出编码”
首先,不是我的话:http : //www.whattofix.com/blog/archives/2010/11/to-code-quickly.php对Markham先生的支持。 但是,这使我不得不思考许多我已经看到的有关如何完成工作的问题。 该方法主张(将计时器设置为固定的时间段,在这种情况下为50分钟,但我已经看到人们谈论通过将短短的五分钟的时间设置为您无法完成的任务来打破拖延,然后采取短暂休息)似乎是常识,但是许多人主张进入“区域”并在其中停留尽可能长的时间(也许是几个小时),而不是打破常规。 我不断尝试不同的方法,发现每种方法都有其优点和缺点。 在软件开发中,您使用哪种技术更有效(即,在允许的时间范围内完成客户/老板/等等的质量要求),而不仅仅是在键盘上花费更多的时间。 ?

6
代码格式化SQL查询
我应该在不同的行中中断SQL查询吗?例如,在我正在进行的项目中,我们有一个查询,该查询占用1600列!1600 +制表符。我写了这样的查询: "SELECT bla , bla2 , bla FROM bla " . "WHERE bla=333 AND bla=2" . "ORDER BY nfdfsd ..."; 但是他们要求我将它们放在一行中,并说我的样式格式不好。为什么这是不好的做法?

5
LINQ to SQL死了吗?
是否有理由继续使用Linq到SQL,还是最好改用EF,NHibernate等ORM技术。 我们正在新的大型企业应用程序中使用Linq to SQL,该应用程序将存在很长时间。此新企业应用程序的动机是该应用程序是用Visual Basic普通编写的,并且由于Microsoft停止了对我们的支持,因此我们不得不重新编写该应用程序。似乎我们已经在那儿了,但是这次是我们的DAL(数据访问层)。 我已经读过这篇文章,但只能与EF的弱点进行比较。

16
当您是程序员时缺乏团队合作有多糟?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我还在上学,我知道我在与其他人打交道时遇到问题。 我不是生气,害羞或与众不同,我只是喜欢以自己的方式和意见去尊重他人,我有很大的好奇心和知识的渴望,但是我缺乏练习,我想人们不想工作和我在一起,因为他们可能担心我会说出某种士气。(例如,即使我经常使用Windows,我也开始学习使用Linux而不是Windows进行编程。并且我有Mac)。 缺乏团队合作的程序员会怎样?问题从哪里开始?成为一名优秀的程序员至少能获得一点补偿吗?程序员对自己的工作有远见而不是仅仅按照所告诉的做是正常的吗?
17 teamwork 

2
XML在JSON世界中的重要性是什么?
当JSON几乎可以完成我所需的全部工作时,学习XML有多重要?话虽如此,我主要将JSON用于AJAX请求并从各种API获取数据。我是Web开发的新手,之所以问我,是因为我想知道我是否应该继续购买一本XML书籍,或者是否可以通过。
17 xml 

2
您如何衡量招聘和面试过程的有效性?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 8年前关闭。 尽管我已经进行了很多关于如何进行面试和发展品牌的讨论,但是还没有关于如何确定您的招聘和面试过程是否运作良好的许多讨论。我认为这个问题分为两个部分: 您如何知道您的招聘过程正在寻找合适的应聘者并通过面试过程? 在您最终面试的人中,您怎么能说出您选择雇用的人(平均而言)比您拒绝的人更好? 我认为“极端”案例-当您最终获得超级巨星或完全哑巴时-显而易见,但是其余的又如何呢?
17 interview  hiring 

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.