软件工程

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

8
您如何制作编程讲座的幻灯片?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我最近进行了几场演讲,但找不到找到幻灯片的好方法。这是一些对幻灯片进行编程的理想特性: 他们是幻灯片。标准的emacs缓冲区不会执行此操作。 它们具有突出显示代码的语法。 它们支持基本格式,例如字体大小,颜色和项目符号。 无需花哨的动画。我唯一想要的动画是子弹的一一出现。 编辑:应该很容易从终端到幻灯片alt来回切换,而不会破坏演示顺序/位置。 到目前为止,我已经考虑了: Microsoft Office-Linux用户无法使用。 OpenOffice.org-太多了,无法满足我的需要,代码格式化/突出显示需要在外部完成并粘贴。另一方面,它还支持项目符号,项目符号逐个动画和字体格式设置。据我所知,终端上的alt键无法破坏显示模式和位置​​。 Emacs-支持所有代码格式,但是我还没有找到可以让我从一个块过渡到另一个块的幻灯片模式。 HTML5-我曾经使用html5rocks作为模板制作幻灯片。它支持所有内容,但是太困难且耗时,无法在进行简短讨论之前将几张幻灯片“放在一起”。同样,仅html5功能可能无法在讲台计算机的已安装浏览器上运行。 对以代码为中心的演示的程序/技术有何建议? 编辑:我认为S5和Latex最符合我所寻找的精神,但这并不是说其他​​建议(包括完全不使用幻灯片)是“错误的”。

6
领导一个不太好的团队
如果您被分配了一个由5名不称职的程序员组成的5人小组并被要求领导,您将如何管理?显然,您不能为4个人编码(您可以,但这不是个好主意。至少我为此感到精疲力尽)。您是否遇到过这种情况? 编辑:我认为通过选择一个错误的单词(不称职)来解决我的问题听起来很粗鲁。换一个问题,您如何处理未完成分配任务的人员(无论出于何种原因(从无能到“我不在乎”之类的东西))?

9
什么时候可以使用Global变量
好的,所以这确实是一个恶魔拥护者的问题。 什么时候可以使用全局变量,如果永远不能,那么您将使用什么替代方法? 这个问题的一个有趣的例子是,公共静态类字段与全局字段有何不同?
22 variables 

7
与使用现有框架相比,何时构建自己的框架更有效?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我想知道为什么您决定在公司中建立自己的框架。 就框架而言,我并不是说您经常使用几个库。我的意思是使用基类,约定等在其之上构建应用程序的特定方式。 那么,为什么要构建自己的框架?您怎么能证明雇用您的人的正当性。您是否衡量了它的正面和负面影响? 关于您的经验,您是否注意到在某种情况下公司框架产生了实实在在的利益,或者另一方面却增加了开发成本(学习曲线,调试,维护等)?
22 frameworks 

2
谁设计了例外?
异常和异常处理来自何处? 我喜欢.NET使用它的方式,喜欢C ++支持它的方式(但是不幸的是,库使用返回代码或用C编写)。我知道它在所有新语言中的标准都是多少,但是谁首先设计了它,或者它是从哪里来的呢? C ++是使用它的第一语言吗?我不知道其他年龄更大的人。

13
您对学习思考有何建议?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 首先,这不是通用的“使我成为一个更好的程序员”问题,即使提出该问题的结果似乎与此类似。在程序员SE上,我已阅读并看到它们在这里,这里,这里,这里和这里关闭。 我们都知道,有许多通用的建议可以磨练您的编程技能(例如,阅读SO,阅读推荐书籍,关注博客,参与开源项目等)。这不是我所追求的。 我也感谢这个网站上活跃的读者群,并希望它能产生一些很好的答案,从而对我有利。通过阅读此处的通讯,似乎有大量有经验的人正在从事或从事与编程有关的领域。你们中的大多数人都可以雄辩,简洁地表达思想。 我最近注意到,有一定编程能力的人和有真正思维能力的程序员之间的区别。我拒绝相信,要想成为一名优秀的程序员,我们只会屈服于一生的海绵状行为(即通过阅读,聆听,观看等吸收与我们领域相关的一切)。我什至要声明,仅仅了解每个编程概念,它就能使您比周围的每个人更快地解决问题X,如果您无法考虑,您将极大地限制自己-您只是一个快速的机器人。 我想相信,成为一名优秀的程序员还有另外一面,与您对编程的了解程度无关,但是您可以将新概念交织在一起并将其应用于您的编程职业或爱好是多么出色。我还没有看到任何人研究或解决过人类思维和编程的这个方面。(是的,我看上去也可能不够努力-抱歉。) 因此,对于那些花时间思考我上面提到的内容的人-也许是每个人都在这里,因为我的个人/专业发展有些落后- 您对学习如何思考有何建议?除了通常的阅读方法之外,您还做些什么比您/我们领域中的其他人更好?

6
CPU多久会发生一次计算错误?
在Dijkstra的《结构化编程说明》中,他谈到了计算机程序作为抽象实体的可证明性。作为推论,他指出测试还不够。例如,他指出了这样一个事实,即不可能在x和y的整个范围内对x和y的任何大值测试乘法函数f(x,y)= x * y。我的问题与他的杂项有关。关于“糟糕的硬件”的评论。我知道这篇文章是在1970年代写的,当时计算机硬件的可靠性较差,但计算机仍然不够完善,因此有时必须犯下计算错误。是否有人知道这种情况发生的频率或是否有任何统计数据?
22 theory  cpu 

12
您会使用Trilean(True,False,??)吗?
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 有时我有一个应返回true或false的函数。但是有时三个可能的值会更有意义。 在某些语言中,这些情况将使用整数或例外进行处理。 例如,如果用户年龄超过18岁,则要处理该用户的年龄。而且您具有这样的功能。 if(user.isAdult(country_code)){ //Go On }else{ // Block access or do nothing } 但是在某些情况下,取决于您的应用程序的构建方式,我可以看到生日字段不完整的情况。然后,此函数应返回未确定的内容。 switch(user.isAdult()){ case true: // go on break; case undetermined: //Inform user birthday is incomplete case false: //Block access } 正如我说过的,我们可以使用Exceptions和Int来处理它,但是我发现在语言中嵌入一个true,false,undefinedtermed而不是使用一些内部定义的常量是很性感的。
22 syntax 

21
自我记录代码与 注释代码
已锁定。该问题被锁定,因为有许多离题的评论。它目前不接受新的答案或互动。 我进行了搜索,但是找不到我想要的东西,如果已经提出这个问题,请随时与我联系。 本月早些时候发表了这篇文章: http://net.tutsplus.com/tutorials/php/why-youre-a-bad-php-programmer/ 概括地说,如果您不编写注释,那么您就是一个糟糕的程序员。我个人的观点是,代码应具有描述性,并且除非注释不能自我描述,否则大多数情况下不需要注释。 在给出的例子中 // Get the extension off the image filename $pieces = explode('.', $image_name); $extension = array_pop($pieces); 作者说此代码应该给出注释,我个人认为该代码应该是描述性的函数调用: $extension = GetFileExtension($image_filename); 但是,在评论中实际上有人提出了这样的建议: http://net.tutsplus.com/tutorials/php/why-youre-a-bad-php-programmer/comment-page-2/#comment-357130 作者回应说评论者是“其中的一个人”,即一个不好的程序员。 其他人对自我描述代码与评论代码有何看法?

8
Emacs-as-OS:已过时?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 为了使用这样一个传奇的编辑器至少达到初学者的地位,最近两个月我一直在Emacs中进行编码。我试图保持开放的心态,但是我发现自己一直不同意一个核心设计选择:Emacs允许用户永远不必离开。在2010年的世界中,我只是认为Emacs的每一项功能都无可救药地落后于专用软件: 我永远不会使用其内置的浏览器。Chrome领先多年。 我永远不会使用它的转向功能;路径查找器(Mac OS X)满足我的需求。 我永远不会使用它的内置电子邮件;Gmail网络界面具有更多相关功能,例如优先收件箱。 等等。 当然,我可能偶尔会使用Emacs来使用正则表达式等来完成上述任务之一,但是除了正则表达式之外,我真的没有理由接触这些辅助功能。我是一个新手,但是我有一种强烈的直觉,认为Emacs-as-an-OS已过时。 Emacs专家,您认为Emacs选择成为一个综合环境是2010年乃至未来的正确选择吗?与替代产品相比,是否还有特定的外围功能仍处于或提前使用?

11
如果我们可以使用Python进行函数式编程,是否需要特定的函数式编程语言?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 使用生成器和lambda,我们可以使用Python进行函数式编程。您也可以使用Ruby实现相同的功能。 所以问题是:为什么我们需要特定的功能编程语言,例如Erlang,Haskell和Scheme?这些特定的功能编程语言提供了什么不同?为什么我们不能只使用Python进行函数式编程?

7
Mono在企业界占有一席之地吗?
对于基于Windows的企业解决方案,.NET有时是最佳选择。那些必须使用Linux(或者更喜欢使用Linux)的企业如何看待Mono?假设开发人员没有问题,并且他们熟悉.NET / Mono和其他可能的竞争对手,例如Java。 一家中型/大型公司是否会在与Java之类的技术相反的服务器上运行Mono?你知道这样的公司吗?
22 .net  mono 

8
组织未注释的脏代码?
我想问你一些关于脏代码的问题。有些初学者在中等项目上编码。该代码是一个非常大的泥泞球。他们不是高级程序员。他们只知道如何稍微使用一下Java键盘。他们只是在主类中编写了12,000行代码,但是6000行属于NetBeans本身。 我的工作是分析代码并提出维护代码的好方法。我的想法是取消该项目,并使用OOP方法启动一个新项目。最近,我从该站点和其他站点收集了有关该问题的一些注释和想法。 现在,我有以下问题: 我们应该修复代码并将其更改为OOP吗?我们现在正在调试它。 该代码没有注释,没有文档,没有特定的编程风格,等等。更改它确实非常昂贵且耗时。我们能对此做什么? 我如何教会他们遵循所有规则(注释,OOP,良好的代码质量等)? 代码错误且容易出错。我们能做什么?测试?我们几乎写了两到三份A4纸进行校正,但似乎无止境。 我必须说我对他们是陌生的。我想我也违反了为项目添加新成员的规则。你认为我必须离开他们吗?

14
是否可能同时擅长编程和图形设计?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 从我所阅读和看到的内容来看,程序员的陈规定型观念不能很好地完成图形处理。但是,我喜欢编程(最好是OOP,PHP,C ++,Objective-C),并且不能否认我在Web设计中具有独特的品味,而其他人则说我做得很好(CSS)。我对自己说:“嘿,等等,我是一名程序员-我怎样才能设计好?”。问题是:是否可能擅长编程和设计?这里有人有同样的感觉吗? 作为记录:我创建的实际图像在以前被朋友多次称为程序员艺术

27
对程序员来说重要的非技术课程吗?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 您为程序员建议什么样的非技术培训课程?例如公开演讲课程,演讲技巧,英语,商务写作或与编程或软件工程本身无关的任何事物。
22 skills 

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.