软件工程

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

5
您对GWT有什么看法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 由于我是在这段时间学习Java的,所以我刚刚完成了教程,所以我认为我准备开始为一个项目做贡献了(因为我从经验中知道这是真正学习的最佳方法)。 我看过GWT,看起来很有趣,所以我想尝试一下。但是我在想,由于GWT在JavaScript中部署了Java应用程序,为什么当我可以学习实际的东西(这就是JavaScript)时,为什么应该学习GWT。我的问题:值得吗?如果他们想构建JS应用程序而不是使用Java和GWT,那么有人会更好地学习JavaScript吗?我意识到用GWT构建某些东西可能会更容易,但最终值得吗? 谢谢。
11 java  javascript  gwt 

3
安装程序或便携式
我担心需要大量安装的程序。即使在卸载后,它们也会在注册表中留下痕迹,此外,某些卸载程序的程序设计不佳(这意味着某些程序无法卸载)。这适用于Windows。 安装程序的好处是,它们创建快捷方式和文件关联。但是,Linux上的Komodo使用shell脚本进行设置,可以通过删除文件夹安全地将其卸载。 您认为应该取消所有安装程序吗?您是否认为安装效果应由Shell脚本代替?您认为所有电脑游戏都应该是便携式的吗? 应将“扫描/ Applications / $ {AppName} / Information文件夹并列出应用程序图标”设计用于将来的桌面环境吗?
11 installer 

6
您使用什么软件来帮助您计划团队工作,为什么?
规划非常困难。我们天生不擅长估计自己的未来,许多认知偏见加剧了这个问题。小组计划更加困难。信息不完整,对情况的看法不一致以及沟通问题加剧了困难。 敏捷方法为组织小组计划提供了一个框架-使计划对所有人可见(用户故事),将计划分成较小的块(冲刺),并提供回顾性分析,以便您更好地进行计划。但是,找到支持这些做法的好的工具被证明是棘手的。 您使用什么软件工具来实现这些目标?您为什么要使用该工具?您使用特定工具取得了哪些成功?

5
右脑干手如何处理大量的左脑干手代码?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我主要是一名艺术家,尽管我形容自己是一名艺术家/物理学家。虽然我可以做数学,处理单词以及被认为是左脑的“逻辑”事物,但这是一种努力,并且我会犯错,而我做得很好,并且大多数时候会考虑与右脑有关的事情当然,所有这些都是模糊的,因为左右脑理论过于简单,没有任何心理活动如此简单。但是我确实感觉自己适合艺术家,视频导演,厨师和其他非语言思维,创意类型,而大多数“ IT”或铁杆软件工程师的人的思维方式却有所不同,注重细节,坚如磐石。一次记住许多细节,强大的理性和言语能力。 因此,在这里,我从事的工作是修复大量C ++软件中的繁琐且难以理解的错误,这在OO上非常繁琐,并且除非我牢记其他二十个类和方法名,否则任何一行代码都没有意义,它们之间的关系,执行流程(非常像意大利面条)和其他细节。 除此之外,我还强烈反对许多现代C ++和OO风格。编写此代码的人真的喝了OO和Modern C ++知识。我发现它实际上使代码更难遵循,更难于决定在哪里修复或更改某些东西。我不知道这是否是左右差异(或任何您想称呼它的一部分)的一部分。 但是我必须使用C ++进行工作-人们依靠我的收入。有什么技巧和技巧来应对这种情况,从而对我的雇主尽可能有效?
11 technique  tips 

5
EE与计算机科学:对开发人员的方法,风格有影响吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 与通过计算机科学进入该行业的软件开发人员(具有电子或其他工程背景的软件开发人员(软件工程师,建筑师,无论职称))之间是否存在系统性差异? 在电子领域,我指的是EE学位,或者是自学成才的电子修补匠,其他类型的工程师和实验物理学家。 我想知道是否会从对触发器,三态缓冲器,时钟边沿上升时间等方面的丰富知识进入软件制造行业,通常会导致在某些专业和缺乏条件下采用独特的方法来解决问题,思维方式或高级技能与具有抽象数据类型,面向对象,数据库规范等概念的计算机科学类型相比,他们会以编程语言来谈论“闭包”,这对烙铁人群来说是毫无意义的学习足够的编程。 我敢肯定,现实世界提供了各种各样的个别例外,但是在大多数情况下,您能否说出总体差异?这些会产生招聘影响吗,例如(组成某种东西)“从不雇用电子争吵者来进行数据库设计”?知道任何差异可以帮助求职者更有效地找到合适的东西吗?还是为那些发现自己不适合某个特定职位的人提供启发或一些实用建议? (顺便说一句,我从未上过任何计算机科学课程;我对它们所涵盖内容的印象是模糊的。我自己是电子/物理/艺术类型。)

9
初创公司与老牌公司的招聘[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 8年前关闭。 我一直对此感到疑惑,也许经验丰富的人可以对此发表评论。我总是读到,大型的成熟软件公司,例如Google,Microsoft等,总是警惕雇用不完全符合职位要求的软件工程师/(或其他相关专业人员),而宁愿拒绝“是/也许”决定。 人们也普遍认为,初创企业通常更愿意雇用这样的“不够完美”的员工。但是对我来说,这听起来违反直觉:初创企业通常规模较小且资源有限,因此他们实际上需要“ 10/10”雇用,而拥有更大团队和更多资源的老牌公司愿意承担(小)风险在雇用。 有人对第一手经验对此有何评论? 谢谢,
11 hiring  startup 

2
面包屑仍然是浏览网站和Web应用程序的可行方法吗?
我目前正在处理以下类型的网站和应用程序: 像亚马逊这样的电子商务 预订系统(例如酒店接待员检查房间的可用性) 发票管理(如Freshbook) 在亚马逊上,我没有发现任何面包屑,只是左侧面板上的刻面。但是,newegg同时使用了面包屑和构面。 在诸如酒店预订或发票管理之类的管理系统中,您通常会通过系统搜索唯一的预订或客户编号。然后,每个保留可以扩展到更多部分,例如: Reservations > Reservation #123456 > Guests > Room > Airport pickup > Payment 在每个唯一的预订页面中,我使用面包屑来显示当前页面相对于站点的位置。这是呈现此类信息的好方法吗?我应该使用标签页还是其他技术?

4
为什么MS Data Access故事如此破裂?它是数据访问的性质还是仅仅是MS?
这个StackOverflow问题询问“我可以在哪里获得Microsoft.Data.Objects” 事实证明,答案可能是它在Entity Framework 4的CTP4(代码优先)版本中。但是,有很多猜测。包含 系统数据 实体框架 Microsoft.ApplicationBlocks.Data Microsoft.Practices.EnterpriseLibrary.Data 10年前,如果有人问类似的问题,因为他们可能已经获得了DAO,RDO,ADO。 这只是野兽的本性还是MS。 其他供应商也会发生这种情况吗?基本数据访问策略在哪里包装或更改?

3
为什么Visual Studio不自动增加您的版本号?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 这个问题问如何在VS 2010中自动更新版本号:https : //stackoverflow.com/questions/4025704/publishing-in-net-produces-application-files-myapp-someversionnumber-how-to-ge 答案是,您必须手动更新程序集版本和文件版本 每次发布时版本号都不应该增加吗?为什么要手动进行?这是MS有意识地决定以这种方式进行的吗?让人们手动更新自己的版本号的背后是什么想法?

10
Java或C ++用于大学CS课程?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我正努力进入学校攻读CS学位。我所看的学校实际上为基础软件开发课程提供了基于Java和C ++的基础(面向对象的编程,设计模式之类的东西)。哪一条路是学生的选择,但只有时间去追踪。 知道了现在所知道的,如果可以选择的话,您是否会奠定Java或C ++的CS课程基础? 我当前的辩论目前看起来像这样: 一位好朋友(拥有AI博士学位)将Java视为更好的选择,而不管我做什么,只要稍后才提供更多的工作机会,尽管他可能因为所有工作都在Java中而有所偏见(他喜欢它)。我住在美国马萨诸塞州波士顿地区,并且看到相等数量的Java和C工作。 另一方面,虽然我还没有完全确定要完成的学位课程,但我倾向于为Mac开发,尽管能力有限,但我现在正在做。为此,我已经对C ++有了一定的了解,但是我还没有使用Java,并且在我的日常工作中查看我的项目时,我很快就认为不需要很快使用它了。至少两年。 我可能应该注意,我是一个成年人,在20年后重返学校(目前我没有任何学位),因此我正在寻求最大程度地利用机会和时间。我有点倾向于C ++,但是我仍然很矛盾,有些外部的客观建议会有所帮助。 或者,我可能只是在考虑这个问题。 更新:事实证明,语言选择不是我最初认为的那么明确。尽管有几门核心课程侧重于Java,但其他一些核心课程则主要针对C和Java,但也有一些其他核心课程相当不错。实际上,在花时间学习Java和Javascript之后,我的剩余学期将是在Objective-C中。上学期是C,Javascript和PHP,另外还有一些其他作业根据需要分配。由于事情在总体上几乎是分散的,而且我仍然可以得到答案,所以我现在正在努力设计课程,以便满足学位的所有要求,但要吸收尽可能多的语言。 。到目前为止,我的成绩并未受到影响。
11 java  c++  education 

5
信息很少的调试提示?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我继承了一个具有相当大代码库的项目,而最初的开发人员很少(如果有的话)回复电子邮件。有很多不同的方法可以执行其中的某些操作,但我并不全都知道。这些路径上有很多重复的代码(而不是5个页面所包含的功能做的是相同的事情,而是5个页面中复制的代码),以及数据库中的一些细微问题(我们都听说过意大利面条式代码) ,但您有没有听说过意大利面条数据库?) 所有这些我大部分时间都可以处理,没有问题。 问题是客户在某处发现错误时。他们通常会发送最终问题的屏幕截图,然后说:“您能看看这个吗?” 同时在页面上突出显示错误的特定内容,有时甚至是预期的内容。给出的信息很少,而尝试与他们交谈并获得更多信息(例如他们为获得结果所做的事情)就像在咬牙。 基本上,可以归结为: 我不是100%熟悉的大型复杂代码库 事情可能会出错 关于如何产生错误的信息很少 有人对如何调试这类东西有任何提示,技巧,建议等吗?
11 debugging 

7
哪些特定的实践可以称为“软件技巧”,而不是“软件工程”?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 尽管这不是一个新主意,但在过去几年中,人们对软件工艺的兴趣似乎已大大增加了(特别是经常被推荐的书Clean Code的全书是Clean Code:A Agile Software Craftsmanship)。 我个人认为软件工艺是一种很好的软件工程,并且对确保最终结果感到高兴(无论是作为最终用户还是作为维护该软件的人)都很感兴趣,并且也将重点放在编码级别上事物比上级过程事物更重要。 打个比方-许多建筑物都是在50年代和60年代以非常现代的风格建造的,很少考虑居住在其中的人或这些建筑物随着时间的流逝如何。这些建筑中有许多迅速发展成贫民窟,或者在其预期寿命很久之前就被拆除了。我相信大多数有几年经验的开发人员都会经历过类似的代码库。 软件工匠可能会做哪些软件工程师(可能是坏人)可能不会做的具体事情呢?

4
当您有多个并行运行的编程项目时,如何确定任务的优先级?
假设您有5个客户,则每个客户开发2或3个不同的项目。每个项目都有X i个任务。 每个项目需要2到10个工时。 由于资源很少,因此需要最小化管理开销。 在这种情况下的两个问题: 您将使用哪些工具来确定任务的优先级并跟踪其完成,同时又将开销降至最低? 鉴于主要目标是提高吞吐量(每个时间单位完成更多的项目,因此该目标与开始一个项目并完成然后继续进行操作相冲突),您将考虑采用什么标准来确定将哪个任务分配给下一个可用资源下一个)? 欢迎想法,管理技术,算法


13
您是否允许程序员使用Messenger和Facebook等社交网络?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我有很多老板,每个人对于允许或不使用Windows Live Messenger,Facebook和许多其他Internet网站都有不同的方法。 当然,确实需要Internet来研究解决特定任务的最佳方法。有时您可能在网上有一个朋友,还有一个程序员,他对某些事情了解得更多。 对于某些经理来说,互联网访问会减慢项目进度,另一方面,它使人们可以进行交互并找到全新的解决方案。 你会怎么做?

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.