软件工程

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

8
JSF是否真的准备交付高性能Web应用程序?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 我听说过很多有关JSF的好处,但据我所知,过去人们也对该技术有很多严重的抱怨,却不知道情况有多大改善。我们正在考虑将JSF作为社交网络项目的可能技术。但是我们不知道JSF的性能得分,也无法真正遇到使用JSF的任何现有高性能网站。人们抱怨它的性能可伸缩性问题。 我们仍然不太确定我们是否通过选择jsf做正确的事情,因此希望听到您的所有意见并考虑您的意见。 是否可以配置JSF以满足社交网络服务的高性能需求?同样,要解决JSF当前的问题,在多大程度上可以生存。它到底有什么问题? 我并不 担心其他人通常会抱怨的与JSF的开发复杂性,因为根据我的个人经验,我认为这并不是真的,但是我更担心什么性能和可伸缩性问题。并且,请不要仅仅在与旧版本相关的旧问题上滥用它。我只是在乎现在的状态,无论过去是什么。

5
如何测试刻录CD而不浪费CD的软件?
我想编写一个可用于刻录CD(音乐)的应用程序。我知道我还是应该用真实的CD对其进行测试,但是我不想每次做小小的改动时都这样做。但是我确实想知道并测试是否会刻录正确的数据,因此您不会损坏CD。 我使用的是仅公开API才能直接刻录到物理驱动器的库;它不允许您写入磁盘映像(这将更易于测试)。 我如何在不浪费CD和时间进行每次更改/更改的情况下进行测试?
16 testing  hardware 

2
麻省理工学院和版权
我正在为根据MIT许可获得许可的图书馆做贡献。 在许可证和每个类文件的顶部都有一个注释: 版权所有(c)2011 Joe Bloggs <joe.bloggs@example.com> 我认为他拥有该文件的版权,并且可以根据自己的喜好更改该文件的许可。 如果我使用完全由我自己编写的新类来为图书馆做贡献,我可以要求该文件的版权。然后放: 版权所有(c)2011 Petah Piper <petah.piper@example.com> 在顶部?

5
避免在JavaScript中使用新运算符-更好的方法
警告:这是一篇冗长的文章。 让我们保持简单。我想避免每次在JavaScript中调用构造函数时都必须给新运算符添加前缀。这是因为我倾向于忘记它,并且我的代码严重搞砸了。 解决这个问题的简单方法是... function Make(x) { if ( !(this instanceof arguments.callee) ) return new arguments.callee(x); // do your stuff... } 但是,我需要接受变量号。这样的论点... m1 = Make(); m2 = Make(1,2,3); m3 = Make('apple', 'banana'); 第一个直接的解决方案似乎是这样的“应用”方法... function Make() { if ( !(this instanceof arguments.callee) ) return new arguments.callee.apply(null, arguments); // do your stuff } …
16 javascript 

4
为什么用C发明short,int和long?
我无法理解,是什么创造的确切目的short,int以及long在C数据类型? 我问的原因是,似乎它们的大小似乎没有界限-例如,它们可以是任意大小,只要short小于即可int。 那么,在哪种情况下,如果您不希望二进制兼容,则应该使用unsigned int或unsigned long而不是来代替size_t? (如果您不知道大小,那么您如何知道何时选择哪个?)
16 c  data-types 

3
C#5异步支持将如何帮助解决UI线程同步问题?
我在某处听说C#5 async-await非常棒,您不必担心这样做: if (InvokeRequired) { BeginInvoke(...); return; } // do your stuff here 看起来,等待操作的回调将在调用者的原始线程中发生。埃里克·利珀特(Eric Lippert)和安德斯·海斯伯格(Anders Hejlsberg)多次指出,此功能源于使UI(尤其是触摸设备UI)具有更高响应能力的需求。 我认为此类功能的常见用法如下: public class Form1 : Form { // ... async void GetFurtherInfo() { var temperature = await GetCurrentTemperatureAsync(); label1.Text = temperature; } } 如果仅使用回调,则设置标签文本将引发异常,因为未在UI线程中执行该文本。 到目前为止,我找不到任何资源可以证实这种情况。有人知道吗?是否有任何文件从技术上解释这将如何工作? 请提供可靠来源的链接,而不仅仅是回答“是”。

3
您是否应该同时使用C#和F#
我知道您可以在同一个项目中一起使用C#和F#,但是我不确定这样做是否是个好主意。 在我看来,将两种截然不同的编码样式(功能性与OOP)混合使用可能会导致设计缺乏凝聚力。它是否正确?
16 design  f# 

5
为什么用这种方式设计数组,指针和函数的C语法?
看过(问!)之后,有很多类似的问题 int (*f)(int (*a)[5])在C 中是什么意思? 甚至看到他们制作了一个程序来帮助人们理解C语法,我不禁想知道: 为什么用这种方式设计C的语法? 例如,如果我正在设计指针,我会将“指向10个元素的指针数组的指针”转换为 int*[10]* p; 而不是 int* (*p)[10]; 我觉得大多数人都同意,这要简单得多。 所以我想知道,为什么这种不直观的语法?语法是否解决了我未意识到的特定问题(也许有歧义?)?
16 c  syntax 


6
C#5异步重入的解决方案
因此,关于C#5中新的异步支持的问题一直困扰着我: 用户按下一个按钮即可启动异步操作。呼叫立即返回,并且消息泵再次开始运行-这就是重点。 因此,用户可以再次按下按钮-导致重新进入。如果有问题怎么办? 在我看到的演示中,他们在await通话前禁用了按钮,然后在通话后再次启用了该按钮。在我看来,这似乎是现实应用中非常脆弱的解决方案。 我们是否应该编写某种状态机来指定必须为给定的一组运行操作禁用哪些控件?或者,还有更好的方法? 我很想在操作过程中只显示一个模式对话框,但这有点像使用大锤。 有人有什么好主意吗? 编辑: 我认为禁用在操作运行时不应该使用的控件是脆弱的,因为我认为当您拥有带有许多控件的窗口时,它很快就会变得很复杂。我喜欢使事情简单,因为在初始编码和后续维护期间,它减少了错误的机会。 如果存在针对特定操作应禁用的控件集合,该怎么办?如果同时执行多个操作怎么办?

3
从哪里开始学习使用Boost库?
最近,Boost在我正在从事的项目中可用,并且我对此没有太多经验。该库具有很多部分和功能,很难知道从哪里开始学习它-特别是因为我将在编写生产代码时尝试学习它(所以它不会让我太慢)。 如果有人可以列出大约3到5个通常在日常编程中非常有用的功能,并说明它们为何有用,我将不胜感激。然后,我可以开始学习并使用它们了-它至少会让我在图书馆中站稳脚跟,并且是一个开始学习/应用它的友好场所:) 提前致谢!
16 c++  boost 



5
组合获取器和设置器
诸如jQuery之类的JavaScript库在编程界面中结合了“ getters”和“ setters”,例如: $('element').css({'color','blue'}); 将设置颜色或 $('element').css(); 将获取元素的css。 这种模式有名称吗,在应用程序中使用是一种好习惯吗?

7
在编程工作中出现停机是否很常见?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 在我的公司中,我发现有些日子要做的工作很少。这些年来,我很想进行研究以了解有关手工艺的新知识。 我要说的是,平均而言,我每周大约有一天没有什么事情要做(或一周中的某些时间组合)。 我想知道这是否是软件开发环境中的常见情况,这个问题的答案在全职工作和合同工作之间是否有所不同?

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.