软件工程

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

15
在新行上列出每个函数/方法参数是一个坏主意,为什么?
我与某人合作,每当他们调用一个函数时,他们会将参数放在换行符上,例如 aFunction( byte1, short1, int1, int2, int3, int4, int5 ) ; 我觉得这很烦人,因为这意味着代码不是很紧凑,因此我必须上下扫描更多内容才能真正理解逻辑。我很想知道这是否真的是不好的做法,如果是,我如何说服他们不要这样做?

8
Scala准备好迎接黄金时间了吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 现在,我已经用Scala做了一些琐碎的事情(我喜欢“ hello world”和人为设计的应用程序!),我不禁要问:。一部分关于支持开发的工具的成熟度,一部分关于通用性。工具集准备好了吗?Scala是否适合在企业/业务应用程序上使用?“您”会在非平凡的项目上使用它吗? 我的一些担忧(可能没有根据)是: IDE和工具集是否像我们开发.net和Java应用程序所需要的那样丰富(与Java的eclipse相比,Scala的eclipse似乎有限)? / CI /测试工具集能够有效处理Scala吗? 如何维护是简洁的代码可以被(鼓励?)写的语言? 是否可以找到具有Scala经验的开发人员? 是否有足够的临界质量来通过在线参考书和比该语言“入门”更多的书来获得帮助? 因此,底线是生态系统是否已经足够成熟,可以立即使用,还是更好地等待它的发展? 编辑:让我们说“非同寻常的”是一个多年,多次发布的10-20个开发人员项目。
22 scala 

13
编程语言作为严格的工作要求有什么用?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 最近,我参加了一个“招聘会”,我惊讶地发现工作场所似乎对考生所熟悉的编程语言有多大的重视。 根据我的经验(虽然有限),虽然真正掌握一种编程语言可能要花费数年,但对于已经拥有其他语言经验的人来说,将其学习到一个合理的水平是一件相当简单的事情,并且绝对可以满足雇主通常分配的时间范围初始加速。 我认为雇主会更在意我熟悉多少种语言/范例,或者我在算法/软件设计方面的经验,而不是我目前熟练的特定技术。 假设我已经知道Java,C ++,Smalltalk和Prolog ...依赖Objective-C的工作场所是否应该真的认为我没有资格,因为我缺乏使用该语言的经验?这是招聘方法上的缺陷吗?如果是,我该怎么做才能说服工作场所我缺乏对Objective-C的经验并不重要?我是在假设性地询问,而不是具体地提到所提到的编程语言。 另外,我的经验有限,我承认我可能会缺少一些东西。以前使用编程语言的经验是否比我认为的更为关键?担任初级或高级职位会有所不同吗?应该有所作为吗?

9
我感到陷入了Python的中心,如何超越初学者[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 此问题是从Stack Overflow 迁移而来的,因为可以在Software Engineering Stack Exchange上回答。 迁移 8年前。 如果这不遵循SO规则,我真的很抱歉,但是我需要一点帮助,我个人仍然将自己归类为python的初学者,但是我写了一个非常小且非常不切实际的程序供老板使用。 我知道我仍然是一个初学者,因为简单的事情仍然困扰我,但是老实说,我读给初学者的每一本书只是重新表达了我已经知道的内容,但是每本“更高级”的书并不能真正让我学习,它们取决于示例文件我从来不真正理解为什么他们建立了“说”功能或“说”类。所以我的问题... 在书上是否有任何建议或其他建议使我脱离这一阶段,我先使用了头,通常它们确实很好,但是我的问题是他们让我回溯只是为了再次前进,它在HTML中有效,但是它在Python中令人困惑,基本上,我认为我需要在继续的同时构建一个程序,我再次喜欢HeadFirst的风格,但是我需要的东西不会让我不得不记住一件事而忘记它... 作为记录,我已经检查了一些O'Reilly的书
22 python 

10
Scrum团队中的主要团队成员
此问题是从Stack Overflow 迁移而来的,因为可以在Software Engineering Stack Exchange上回答。 迁移 8年前。 在团队成员尝试承担责任的任务最初没有分配给他,而是分配给Scrum Master的情况下,您会怎么做?

11
照顾您的持续集成系统
我在团队中的角色之一是构建人员。我负责维护/更新我们的构建脚本,并确保我们在连续集成服务器上“顺利”构建。我通常不介意这份工作,尽管经常感觉好像我一直在保姆CI服务器。 该工作有时会很烦人,因为如果构建中断,我必须放弃我正在研究的故事并调查构建失败。建设失败每天都在我们的团队中发生。有时,开发人员只是在提交之前未在本地进行构建,因此测试在CI服务器上失败。在这种情况下,我想快速联系遇到“错误提交”的人,以使构建不会太长时间损坏。有时(不那么频繁)在CI服务器上存在需要调试的奇怪情况。 我知道许多成熟的团队都使用持续集成,但是关于良好实践的材料并不多。 我的问题是否指出我们的持续集成还不是很成熟,或者这仅仅是工作的一部分? 要遵循哪些良好做法?成熟的持续整合的特点是什么? 更新资料 除了回答一些评论外,我将进行更新。我们有一个简单的命令,它完全可以执行构建应用程序时构建服务器的操作。它将编译,运行所有单元/集成以及一些基于UI的快速测试。 阅读每个人的答案,感觉我们可能有两个主要问题。 当构建失败时,CI Server不会抱怨得太大声。 开发人员并不觉得确保自己的提交成功完成是每个人的责任。 使我的团队变得更困难的是,我们有一个庞大的团队(超过10个开发人员),并且有几个离岸团队成员甚至在不上班的时候都会投入工作。因为团队规模很大,并且我们确定经常进行小型提交是首选,所以有时我们一天中确实有很多活动。

15
采用最佳实践的障碍是什么?如何克服它们?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我们都已经看到(而且我们大多数人已经写过)很多写得不好的代码。为什么?是什么使我们采用不良做法而不是好的做法? (对我来说)最明显的答案是“无知”,但我相信这不是唯一的原因。还有什么呢?我们该怎么办才能克服编写不良代码的诱惑?
22 learning 


8
IT和软件行业的诉讼越来越多了吗?
在过去的几年中,我一直观察到与新闻相关的IT公司和个人以指数方式呈指数增长,一方面,另一方面,与案件有关的法律问题在网络上的各个方面都向法院提起诉讼。 我非常怀疑人们和公司突然之间开始窃取彼此的想法,但是情况有所不同。是那个吗: 1)平均而言,IT人员正受到更多的法律教育? 2)我错过的各个国家的法律制度发生了一些变化,是造成这种现象的原因吗? 3)现在,IT被视为潜在无限收入的来源,巨魔和律师将注意力转向了IT? 4)还有其他发展吗? 我的问题的第一部分是普通开发人员应如何应对这种干扰趋势: a)像以前一样继续进行,忽略一切合法的 b)接受有关IT的本地和国际法律教育 c)在尝试进行任何与编程相关的工作之前,请始终获取专业的法律建议 d)对于任何类型的项目,即使是最基本,最无害的项目,也要注册有限责任公司以保护自己 一第二部分是一个更大的一个:它如何影响所有IT企业和初创企业: e)是否有新公司处于潜在风险中?如果是这样,这种风险是像美国拥有其所有软件专利一样,还是全球性的? f)任何新公司都可以生存而无需一开始就聘请律师并申请所有可能的专利吗? g)选择一家在其法律法规中支持软件专利的地点是否是新公司注册的风险因素? 我承认我的问题很复杂,但是手头的事情更加复杂。如果您看到任何重组的潜力,那就欢迎您。 我也在寻求全球或当地市场的任何投入。我们将从特定的案例中找出共同点。
22 business  legal  startup  risk 

13
您如何回答“自我评价”问题?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我经常被问到“用Java评估自己”之类的问题。 它像 面试官:用10分的Java评分 我:9 面试官:在J2EE中给自己打分 我:8 .... 但实际上我只是想出任意数字。我当然很了解Java,但是说“十分之九”是什么意思。我认为这是一个非常主观的问题,总体上讲没有意义。 问题是,如果我说9,如果我不能回答任何问题,面试官可能会想,“这个人只是说9”。另一方面,如果我说6,面试官很有可能会认为“他对自己的评价很低...不好”。 您如何回答此类问题?
22 interview 

11
如何跟上所有新工具/语言/框架?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 只是想知道每个人如何跟上它。我主要使用ASP.NET和Windows窗体,但是出于商业原因,我坚持使用3.0。因此,我的大部分自我教育都是在自己的时间上进行(周末,我喜欢做游戏编程,所以我每周只有3-5个小时学习新知识) 您如何跟上永无止境的新内容供应?

7
学习用C编程(来自Python)
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 6年前关闭。 如果这是问这个问题的错误地方,请告诉我。 我是一个职业的Python程序员。我很想学习C。确实,我已经尝试了很多次,但是我总是灰心。在Python中,您编写了几行,程序就产生了奇迹。在C语言中,我似乎无法做任何有用的事情。 甚至连接到Internet似乎都非常复杂。 您对我学习C有什么建议?有没有好的网站?有什么很棒的项目吗? 谢谢
22 learning  python  c 

6
C#的Pascal套管方法名称背后的原理/原因是什么?
此问题是从Stack Overflow 迁移而来的,因为可以在Software Engineering Stack Exchange上回答。 迁移 8年前。 我刚刚开始学习C#。来自Java,C ++和Objective-C的背景知识,我发现C#的Pascal框其方法名称相当独特,并且一开始很难适应。这背后的原因和哲学是什么? 我猜这是因为C#属性。与Objective-C中的方法名可以与实例变量完全相同的情况不同,C#并非如此。我猜想属性(与支持它的大多数语言一样)的目标之一是使属性与变量和方法真正区分开。因此,在C#中可以有一个“ int x”,并且相应的属性变为X。为了确保属性和方法是不可区分的,因此,我猜测的所有方法名称也应以大写字母开头。(这只是基于目前为止我对C#的了解而得出的假设,我仍在学习中)。我很好奇这个好奇的指南是如何产生的(鉴于它是 (编辑:通过Pascal-casing,我的意思是PascalCase(基本上是camelCase,但以大写字母开头)。在大多数语言中,方法名称通常以小写字母开头)

10
进行大量现代JavaScript开发的良好资源和工具?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 5年前关闭。 我对做一些涉及大量使用JavaScript的项目感兴趣。即基于HTML5的画布游戏,也可能使用node.js。我对学习JavaScript的现代最佳实践,工具和资源感兴趣。 JavaScript很难研究,因为您最终会涉足很多真正过时的材料,而源于“ JavaScript”是一个四个字母的单词。 如果您大量参与JavaScript编程... 您使用什么文本编辑器或IDE? 您使用什么单元测试框架? 您使用硒还是其他? 您还使用其他哪些工具? 有哪些社区讨论JavaScript的最新出现? 您读/参考哪些书? 您读什么博客?

14
您每天使用几种编程语言,以及如何有效管理特定于语言的任务[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 编辑: 使用多种语言时如何管理单个任务 在日常任务处理中,您使用多少种不同的编程语言? 使用每种语言时,您是否会改变思维方式? 您是否对它们进行优先级排序,并将每个任务分别保留在每种语言中。 是否根据每个任务在语言/ IDE /环境之间无缝切换的进度分阶段进行编码 您是否对所有语言(而不是语法)应用相同的编码样式/惯例? 有关: 程序员同时从事多个项目是否正常?

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.