软件工程

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

4
Haskell擅长教授数学基础知识吗?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我参与了对诸如AS和A Level数学规范之类的要求进行数学教学的课程。 课本通常提供适用于数学任务的计算机软件示例,但它们通常基于Mathlab,mathematica或推导之类的软件应用程序。 即使使用真正的编程语言,它也通常是古老的常用语言,例如Pascal。我认为这真的很可悲。 因为Haskell以他对数学的感觉而闻名,并且因为我也对它感兴趣,所以我想问一问Haskell是否适合作为大学一年级学生的延伸锻炼方法。典型的主题是函数,弯度,极限,例如线性代数。 我具有编程方面的中级知识(c#,ruby,powershell,javascript,tex),并且已经使用XSLT进行函数式编程。 答案将负责任地予以推荐。详细的答案还包括应用于数学的Haskell代码的一些基本示例,例如线性代数(例如矢量空间),多项式,求解线性方程式,受到人们的广泛欢迎和关注。
19 haskell 

6
属性应该有副作用吗
除了通知状态改变外,C#中的属性是否还会有副作用? 我已经看到以几种不同方式使用属性。从将在首次访问值时加载值的属性到具有大量副作用(例如导致重定向到其他页面)的属性。
19 c# 

7
什么是一个好的第一个函数式编程项目?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 8年前关闭。 什么是一个好的第一个函数式编程项目? 我希望在我的单身汉项目中取得圆满成功,并且希望通过功能编程项目来完成它。我们不是在学校学习的,但是我们鼓励我们尝试自己学习新事物,而且我认为学习新的范例不仅对我来说是一种很好的练习,而且对于老师来说也可能是一件有趣的事情。 。 问题是我想提前一点开始我的项目,以利用暑假的机会,更好地理解函数式编程,并熟悉一种语言。 您会说这是一个很好的实践项目,有点挑战,但同时也让我学习了语言,范例等。那么您认为对我的单身汉项目而言,这是一个好项目(更高级的项目)吗? 对于进入函数式编程的最佳语言的建议也将不胜感激。

11
在面试过程中,哪些回答会使候选人失去应聘资格?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 您正在寻找软件开发职位的候选人,所有简历都经过了审查,并发出了两次面试邀请。现在,人们在现场出现在会议室,您开始来回谈论过去的经验,回顾简历,个人发展兴趣等。 在您的招聘经历中,您希望您在最初的过程中希望得到更好的答复(和问题)是什么,可能阻止了您聘用贫穷的候选人? 我找了一些红旗要留意,并希望被挑剔不够。

4
是否应该将技术债务安排为功能或杂项(或错误)?
我在Pivotal Tracker板上添加了一些解决一些技术问题的用户案例。我应该将它们视为特征(保持速度水平)还是杂务/虫子(降低速度)?我知道,如果我坚持一贯做下去,从长远来看不会有任何区别,但是每次我添加技术债务的故事时,我都必须做出决定。 一些想法: 它们实际上不是错误,它们不会破坏任何东西 用户没有要求任何东西,因为它是不影响他们的低级实施,但是它将使长期开发变得更容易 如果您将功能定义为能够为用户增加价值的故事,那么a)他们不会,因为用户不会看到任何直接的利益,但是b)它们会这样做,因为它们使将来的开发/维护成为可能,从而确实可以增加价值,只是现在不行 我不决定是否真正进行这项工作,或何时安排它,我只是想知道我应该在项目管理工具中称其为技术债务的原因,以及原因。


6
2011年的C编程
已关闭。这个问题需要更加集中。它当前不接受答案。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 许多个月前,我削减了C代码为生,主要是在维护支持各种操作系统(Linux,* BSD,HPUX,VMS等)的POP3服务器的同时。 我计划通过使用C语言编写简单的FORTH来提高我的C语言技能,并学习一些有关语言实现的知识。 但是我想知道自2000年以来C世界中的事情如何(或是否发生了变化)。当我想到C时,我认为... comp.lang.c 尽可能使用ANSI C(但C89和C99并未得到广泛支持) gcc -Wall -ansi -pedantic 代替静态分析工具 埃马克斯 标签 Autoconf + make(有关VMS,HP-UX等优点,请参见第2点) 在过去的11年中一直用C编写的任何人都可以让我知道这些年来发生了什么变化(如果有的话,-)。 (在其他新闻中,我已经做了十多年了)。

5
Python和Django选择Java / .NET Web开发人员有多难?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 几个月前,我刚刚在一家小公司开始了新工作,目前负责目前和将来的所有开发工作。我个人从Java到.NET方面都有多年的软件设计和开发经验。我在职业生涯的后期很轻松地学习了.NET,几乎不需要任何培训就可以投入工作,最重要的是,它通过看到两种不同的观点,帮助我真正地掌握和欣赏了许多最佳实践和通用主题的普遍性。解决相同的问题。 我的老板旁边有一家初创公司,并且在不泄露过多信息的情况下,他需要一个中等复杂的Web应用程序,该应用程序可以集成到Google Maps中以构建路线。 他将他们过度承诺的Web应用程序外包了出去,主要是交付不足,并在截止日期前运行。他目前正在努力争取至少收回他所投资的一些资金。他现在拥有该网站的源代码,但是在上线之前有一份清单,他希望对其进行修复和补充。 他问我是否愿意为此花一些额外的钱,但是问题是该网站是使用Django用Python编写的,我对此没有任何经验。我告诉他我真的不是最好的人,因为我对Python或Django几乎一无所知,因此必须从头开始学习。我觉得如果我利用这段时间学习语言和平台,对我来说按小时计费是不公平的。 根据我的经验水平的总结,您认为我要花多长时间或多少时间?如果您认为这很浪费时间,那么有人可以建议在哪里找到有经验的Python Web开发人员吗?金钱现在对他来说很重要,因此他不再有最大的预算。

5
对一百万种事物感兴趣,有一百万个目标:如何选择重点关注的事物
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 我目前正在使用.NET技术作为Web应用程序开发人员。我有兴趣了解与我合作的技术的更多信息,但我还对百万种其他事物感兴趣……(包括系统编程,网络,游戏开发,移动开发,计算机科学主题,数学,参加公开赛源项目,开始自己的事业,等等)。 当有很多其他需要“掌握”的东西引起我的注意,而一天中只有那么多小时时,我似乎无法专注于成为“专家”的事情。 我的问题是,有什么好的战略可以制止拖延和有效地管理时间,以便您可以充分利用自己的空闲时间并了解自己感兴趣的内容,同时又不会忽视其他优先事项并让其他兴趣落空裂缝?还是我必须牺牲,如果是的话,我该如何优先考虑牺牲什么?

7
如何使用版本控制
我正在localhost中用php开发一个网站,当其模块完成时,我将其上传到云中,以便我的朋友可以对其进行alpha测试。 在继续开发的过程中,我有很多文件,而且我无法跟踪编辑或更改的文件等。我听说过“版本控制”功能可以管理所有文件,但不确定其工作方式。 因此,我的问题是:在我开发网站时,是否有一种简便的方法/服务/应用程序可用于跟踪所有编辑/更改/新文件并管理文件。在完成模块后,我想将其上传到云中(我正在使用Amazon Cloud Service)。如果新文件出了点​​问题,我可能想回到旧文件。也许单击或单击两次,就可以查看自上次上传以来已编辑或更改的文件?

6
参与开源项目[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我即将进入计算机工程专业的高年级,并在今年夏天和秋天获得了实习。由于我不会做作业,所以我很想借此机会参与某种开源项目。我精通C,C ++,Java和Python。我也相当熟悉Linux,目前在笔记本电脑上使用Linux,本学期的所有课程都将重点放在Linux上。 我当时正在考虑看一下Android或Ubuntu,但过去我感到有些不知所措。有人有建议吗?对将要开展的一个好项目,从哪里开始以及我是否真的能够做出很多贡献感兴趣。 最后,人们接受变更的频率是多少?我会多久编写一次被拒绝的代码? tl:dr通过为一个开源项目做贡献寻求更多的编程经验。新手到现场需要咨询。


4
为什么Java集合API没有最后一种方法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 这用于有序集合,例如java.util.List。语言设计者为什么不包括最后一种方法?我能想到的唯一原因是: 集合为空时的歧义(返回null或引发异常) API膨胀 还有其他原因吗?
19 java  api-design 

12
托管编码员与本地编码员
我是一名编码人员,并且具有本机代码和托管代码的经验。我从Pascal和C开始,然后进入C ++,最后进入C#。 在过去的一年左右的时间里,我几乎一直只使用C#进行编码,并且失去了很多当我使用C ++编码器时自然会遇到的东西。 几周前,当我坐下来写一些本机C ++代码时,我发现自己不知所措,因为我逐渐熟悉了这一切的复杂性,怪癖和特质。我几乎不好意思地说,我完全忘记了将动态分配的数组传递给函数而不传递其大小也意味着接收函数将无法知道数组有多长。 有无数的文章和文档将托管代码与非托管代码进行比较和对比。我们都知道,如果优化得很好,本机代码可以比托管代码运行得更快,更轻。另一方面,托管代码具有垃圾收集器以及特定于运行时的CPU和特定于OS的优化,这可以使本机代码运行自如。 纯粹从技术角度来看,没有明确的赢家。 毫无疑问,托管代码在编码和理解上要简单几个数量级。只需看一下在Win32 C ++与C#中构造一个简单GUI所需的行数差异。 早在我的本机编码时代,我主要编写在超级计算机上运行的数学模拟。他们的CLI很难看,而且大多集中在算法上。如今,我用C#编写并生成了精美的GUI应用程序,但是如果我不得不在本地语言上做出类似的口径,那我就会迷路了。即使使用QT之类的框架,在C ++ / QT中生成某些内容所花费的时间仍比在C#中花费两倍。 每当我看到有人用C / C ++编写了一个大型,功能齐全的GUI应用程序时,我都会不禁感到敬畏和嫉妒。 我很好奇其他经验丰富的程序员如何看待托管和非托管语言。您是否将托管代码视为业余爱好者?您是否认为本地编码员更具有核心性?
19 java  .net 

8
程序代码与OOP代码
我已经用程序样式完成了一个PHP的13000+行的项目[因为我对此非常熟悉,尽管我知道OOP],并且该项目运行得很好。 但是我应该将其转换为OOP吗?[ 因为世界上正忙着OOP ] 我的代码不需要OOP的任何功能[封装,基本上是继承...]! 所以我该怎么做? 如果将其转换为OOP,将会获得什么样的帮助?

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.