软件工程

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

6
如何消除对从事自由职业的恐惧?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 我通常在Web设计公司工作,但我的经理也有自己的公司。他基本上是一名设计师,他与客户接洽项目,然后在周末或有时间的时候做我的工作。 他非常大胆。他根本不懂编程。但是我看过很多次他都赶上了我不知道该怎么做的项目。 去年,他在Joomla,Drupal和Microsoft Sharepoint中获得了一些我当时不知道的项目。我告诉他,我不知道该怎么用。他告诉我花时间学习然后再做。当时我以为我不知道会发生什么,但最终我都完成了。 他有时会把未完成的项目交给客户,即使他知道他们还没有完成,但是他并不担心,因为人们根本不会注意到。如果他们确实注意到了,那么他叫我去做。有时我想知道他如何经营如此冒险的生意。 我已经知道,我知道编程,所以害怕接受项目,但是他什么都不知道,他会毫不犹豫地接受它们。 我总是太害怕做个人项目,因为我开始考虑可能出问题的地方。如果我做错了什么,那么人们会起诉我。我将如何支付赔偿金?由于这种想法,我无法从我的已知客户那里完成任何项目。 每当他们问我是否可以做时,我就说不。我害怕接受项目。即使我在工作中做了很多项目,但是当涉及到我时,我还是对此感到担心。 我该怎么办?

6
在非微软世界中,“智能感知”一词是什么?
在谈论IDE软件或某种编程语言在源代码级别上允许您做什么或不做什么时,我经常使用IntelliSense一词,该词在Microsoft世界中具有确切的含义,但是与不熟悉它的人交谈时是不合适的必须熟悉Visual Studio。 在这种情况下,使用什么合适的术语? 我通常使用“自动完成”一词,但它并不总是有效。实际上,IntelliSense包括自动补全功能,但它也提供了文档和提示。

7
有关函数式编程的无障碍书籍[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在寻找一本以易用的方式介绍函数式编程的书。另外,我更喜欢一种不太沉闷并且不使用深奥语言的语言。 理想情况下,它将使用示例来演示函数式编程比命令式方法导致更优雅或更简单的解决方案的情况。 我有相当数量的编程经验,但没有函数式编程知识。谢谢你的建议

5
您用什么来组织团队知识?
去年,我和我的三个好朋友建立了一个小型网络/移动开发团队。一切进展顺利。我们学到了很多东西,而且新人也加入了这个小组。保持知识始终保持更新和同步对我们至关重要。冗长的电子邮件线程根本不是我们要走的路:过于分散和混乱,过一阵子很难找回。 您的团队如何管理和组织常识?您如何在团队内部收集和共享有用的资源(文章,链接,库等)? 更新:感谢您的反馈。除了使用Wiki共享团队共同的程序或信息外,我还希望共享外部链接,文章,代码库,并能够在团队中轻松地对其进行评论。 我特别想知道您是否知道与团队共享阅读清单的任何方式/网络服务。我的意思是,类似Readitlater / Instapaper的东西,但对于团队来说,也许有一些可用的统计数据,例如“阅读它的同事数量”。


3
等待需求时对草率代码进行低影响的重构和代码清理
我继承了一个草率的产品的现有代码库。基本设计严重不足,不幸的是,如果没有完整的重构,我将无能为力(高耦合,低内聚,猖ramp的代码重复,没有技术设计文档,集成测试而不是单元测试)。该产品具有悠久的历史,对关键的“现金牛”客户敞口高,对风险的承受力最小,将使希腊人脸红的技术债务,非常庞大的代码库和复杂性,以及之前团队疲于奔命的错误解决方法我。 老团队跳船到另一个部门,以便他们有机会毁掉另一个项目。我很少遇到技术上无能力的项目失败,而不是项目管理失败,但这确实是其中一种。 就目前而言,我自己一个人,但我有很多时间,决定权和未来方向的自由,并且有能力从头开始建立团队来帮助我。 我的问题是,当您在功能需求收集阶段有一些空闲时间时,就对这样的项目的低影响重构收集意见。有成千上万的编译器警告,几乎所有警告都未使用的导入,未读的局部变量,没有类型检查和不安全的强制转换。代码格式是如此的难以理解和草率,以至于编码人员患有帕金森氏病,无法控制在任何给定行上按下空格键的次数。通常会打开其他数据库和文件资源,并且永远不会安全关闭它们。无意义的方法参数,执行相同操作的重复方法等。 在等待下一个功能的要求时,我一直在清理低冲击力,低风险的物品,并想知道自己是在浪费时间还是在做正确的事情。如果新功能意味着删除我之前花费时间的代码怎么办?我将开始一种敏捷方法,并且我知道这在敏捷开发过程中不断重构是可以接受和正常的。 您能想到我要添加的任何正面或负面影响吗?

1
为什么许多项目托管站点没有论坛功能?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我正在考虑开始一个开源项目,所以我在一些受欢迎的项目托管站点周围购物。 我感到惊讶的是,许多受欢迎的项目托管站点(例如GitHub,BitBucket)(此处提供一个不错的功能表)没有论坛功能,即用户可以与开发人员交谈,提问,提出想法等等。 恕我直言,活跃的论坛是围绕项目创建用户社区的重要因素,因此,我希望大多数项目所有者会对这种功能感兴趣。 我还注意到有些项目的确在其他地方托管了支持论坛(或邮件列表),例如Ruby on Rails托管在GitHub上,但有一个Google Groups支持小组,而TortoiseHG托管在BitBucket上,但在SourceForge上有一个邮件列表-因此,并非不需要此功能。 那么,为什么许多项目托管站点没有论坛功能?

5
如何确定最低系统要求?
我们都看到了无数带有“最低系统要求”的软件示例,如下所示: Windows XP / Vista / 7 1GB内存 200 MB储存空间 一般如何确定这些?显然,有时会有特定的限制(如果程序在磁盘上占用200 MB,则这是一个硬要求)。除了那些情况之外,对于RAM或处理器之类的东西很多次都发现,没有硬性约束的情况下,更多/更快更好。如何确定这些?开发人员只是编造看起来合理的数字吗?质量检查人员是否经过严格的流程测试,以测试各种要求,直到找到性能可接受的最低设置?我的直觉说应该是后者,但实际上通常是前者。



9
面向CLI的程序员的工作流程与面向GUI的工作流程有何不同?
我已经听到很多关于在GUI应用程序中减少编程工作并使用更多命令行工具(尤其是在更高效地完成工作方面)的好处的信息。但是,由于我不了解如果我更多地依赖命令行工具,那么我的工作流程会有什么不同,所以我无法轻易评估个人是否有足够的回报来投入时间和精力来学习新的工具集并进行更改我的工作流程。 马上: 我使用Visual Studio,Eclipse等使用C / C ++ / D / C#/ Java / Python等语言编写了一些辅助项目,并通过设置构建设置并按F5进行构建/运行来运行它们。 我正在开发一个工作中的Web程序,因此涉及使用Django设置服务器,连接到数据库等,几乎所有这些操作都在SciTE文本编辑器中进行。 对于启动常规程序,我使用Launchy ...仍然没有终端。:) 对于复制文件和其他操作,我在图形文件管理器(Windows资源管理器,Nautilus)中使用常规查找/移动。 调试:我使用Visual Studio或Windows调试工具(如果我在Windows上)。我在Linux上没有做太多调试,但是对于已经完成的事情,我使用了Eclipse(对于Windows上的Java也是如此)。 工作:连接到构建系统并建立项目,我只使用已集成到Eclipse中的工具供我使用-不需要终端或任何东西(尽管我当然欢迎使用终端,确实想) 在CLI中执行这些操作是什么感觉?哪些零件效率更高/更低?从转变为主要使用CLI来获得最大的优势,需要更改工作流程的哪些方面?换句话说... 如果您将我神奇地转变为命令行专家,那么我的新编码工作流程将与当前以GUI为中心的工作方式有何不同?
17 gui  cli 

12
实习不知所措[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 7年前关闭。 我最好的朋友一个月前才开始实习。问题是他很灰心。他在学校里是一名优秀的A +学生,并且感到自己一无所知。他说,尽管他所使用的语言都是他觉得很舒服的语言,但他正在研究的问题似乎对他来说是如此陌生。他真的很灰心,就像他根本不了解代码库一样。我一直试图告诉他,这将需要时间,并且期望他有很多问题。我应该告诉他什么?
17 internship 

7
为什么桌面应用程序不使用HTML,CSS和JavaScript?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 HTML,CSS和JavaScript可用于构建漂亮(且有用)的UI(特别是现在我们有了HTML5和CSS3),并且很多人已经知道它们。尽管这仍然遥不可及,但将整个Web应用程序引入桌面应用程序有多困难?在托管它们之前,我们已经在本地服务器上测试了应用程序。 在我看来,这是一个很好的,简单的想法,它将在桌面应用程序中引起轰动。另外,鉴于这些应用程序已经与Web应用程序共享了如此多的代码,因此它们可能能够提供更好的连接性。 为什么不做呢?

6
撰写研究论文只为学者吗?
我一直注意到在印度撰写研究论文的某些趋势。它们由学生或学者撰写。 软件行业从事日常工作的人(像我一样)是否撰写研究论文? 我问这个问题是因为,如果这篇论文值得,我们更有可能收到Google和Facebook等公司的面试电话。 即使我决定写一个,我该如何/在哪里提出?网上有什么地方可以提交和审核?
17 research 

6
TDD:在第一次单元测试之前会发生什么?
我最了解TDD的理论,但我不知道如何开始。我坐下来为个人项目编写单元测试并意识到这一点。。。我不知道我要测试什么。什么对象,什么功能等 例如,假设我想编写一个应用程序来帮助我们的家人管理杂务。我想到了一些问题:如何从这个想法开始进行第一次测试?开始之前应该确定多少?开始编写测试后应该确定多少?什么时候做出诸如将数据存储在文本文件还是数据库中的决定?开始之前是否应该进行用户接受度测试?我应该设计UI吗?我应该有规格吗?(我确实意识到这些示例问题中至少有一些可能在“灰色区域”中)。 除了有关进行第一个单元测试的标题问题之外,您还可以举一个例子说明一个示例项目的项目的第一个单元测试是什么样的吗?
17 design  tdd 

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.