Questions tagged «productivity»

生产率是生产过程中每单位输入的产出的度量。

7
您如何应对编程疲劳?[关闭]
不是像“我需要睡觉”那样的疲劳,而是像“我再也无法烦扰”那样的疲劳,通常在遇到任何正在开展的项目中遇到障碍时,通常会出现这种情况,通常越接近截止日期。 它可以在工作项目中,也可以在个人项目中,但这是我最近越来越关注的问题。我会有一个主意,着手研究,有一些非常好的日子并取得进展,然后有些琐碎的事情会让我绊倒,我无法按您想要的方式工作,我遇到了限制在框架中,我遇到了找不到文档的问题,等等,这太令人沮丧了。 还是我一个人呢?

8
在过去的20年中,真的没有一件事可以带来巨大的软件开发收益吗?[关闭]
Fred Brooks 在《No Silver Bullet》中对软件工程的未来做出了各种预测,最好的总结是: 无论是技术还是管理技术,都没有一个单独的发展可以使生产率,可靠性和简单性提高甚至一个数量级。 他的论点很有说服力。布鲁克斯在1986年写作:他是对的吗?2014年的开发人员生产软件的速度是否比1986年的开发人员快10倍?通过某种适当的指标-生产力的提高实际上有多大?

8
如何在工作中倡导堆栈溢出[关闭]
我正在考虑在工作中做一个简短的演讲,介绍如何使用Stack Overflow作为日常工作的资源。 您的经验是什么? 您是否将其视为告诉同事的有效资源,还是类似于向他们介绍Google作为资源的资源? 有更好的方法吗? 我倾向于在S​​tack Overflow上问问题,而不是回答这些问题,以避免您不应该在工作时间做这些争论。 只是作为后续。 本来我不想针对我自己的情况提出这个问题。我的演讲将只是一个四分钟的简短演讲,我将在一个多小时内向不同的小组重复。 我可能会在有关Stack Overflow的讨论之前提出一个问题,并在演示过程中进行参考。希望我会在这个小时内参加一些活动。 我还将简短地讨论一些其他适合读者的Stack Exchange网站,因为它们并不是全部开发人员。我认为超级用户,服务器故障和程序员应该可以正常工作。 由于已经重新安排了演讲的时间,所以我将再几个月不做演示了,但是我将继续进行介绍。

19
如何处理“停车点综合症”?
我发现自己的行为被称为“停车点综合症”……这意味着我无法停止工作,直到达到“停车点”(否则我就会精疲力尽)。换句话说,如果我在致力于完成某项功能的区域中,那么直到完成它后我才会停止。如果这是我正在研究的错误,那么这种影响会更加明显……直到它被修复,或者至少是被理解后,我才会停止。即使我使用笔记本电脑工作并且拥有VPN,并且可以在当晚晚些时候轻松回家并继续工作,但这一事实并不能帮助我离开工作……这好像是我会在发现bug之前就死掉了。 我很难向家人解释这一点,他们无法弄清楚为什么我从不同时下班回家,有时有时是晚上11点回家。即使是经理,也对此感到迷惑不解,而且我注意到,大多数同事每天在同一时间工作没有任何麻烦。 还有其他人有这个问题吗?我应该为此担心或尝试更改它吗?如果可以,怎么办?

13
我的故事点数比平均水平高4-5倍,但错误产生率却是平均水平的一半。图说它的错误多出2倍,如何处理?
因此,通常公认的是,顶级程序员可以比普通程序员产生更多/更好的代码。 人们也普遍认为,对于程序员而言,代码中的错误率相对恒定。 相反,它倾向于受到编写代码时和编写代码后使用的过程的影响。(据我了解)人类倾向于以相当恒定的速度犯错误-更好的程序员只会注意到更多的错误,并且会更快地解决它们。 请注意,以上两个断言都来自史蒂夫·麦康奈尔(Steve McConnell)的Code Complete,因此这不是不同观点的问题。 因此,我最近开始在代码中看到这一点。我可以像其他同等人(以团队估计的故事点来衡量)的代码量提高大约4-5倍,并且质量更高(基于性能指标和签入后所做的更改数量)。但是我仍然会犯错误。在进行更好的单元测试,更好地理解代码的功能以及更好地了解代码审查时的问题之间,我没有产生4-5倍的错误数。 但是我仍然产生的质量保证发现的错误是我团队中其他开发人员的两倍。您可能会想到,这会导致非技术人员进行度量标准测量时出现一些问题(请参阅:我的老板)。 我试图指出,我的错误产生率是同龄人的一半(并且修复了两倍),但是当图表显示我产生的错误数目却是两倍时,这是很难的。 那么,如何应对生产率提高会导致错误数量增加这一事实呢?

8
开发机器应该在VM内吗?[关闭]
Rob Conery的这篇文章(请注意)表示开发环境应在虚拟机中运行。我明白他在说什么,并且倾向于同意,但仍然有些不安。既然虚拟化已经非常成熟,甚至生产系统都可以在VM内运行,那么这几乎不是问题,但是正如我所说的那样,这让我很困扰。 您如何虚拟化开发计算机?你已经这样做了吗?如果这样做的话,路上有什么陷阱或陷阱吗?

9
如果“以身作则”无效,该怎么办?[关闭]
我已经在一家大公司(拥有8000多名员工)工作了将近2年,而在我完成学习课程后才被录用。 这里的每个人都必须每天处理遗留代码,这些遗留代码通常设计得很糟糕并且充满了骇客。首先,我保持低调,尽量不要批评太多。但是,从目前的情况来看,这种情况已经变得很难适应,而且似乎没有人愿意改进/替换我们使用的工具。 更明确地说,我们有: 过时的源代码控制工具(Visual SourceSafe) 普通的旧makefile,仅支持完全重建 .def 所有现有体系结构必须手动维护的文件 整体头文件和包含很少文件的项目(但每个头文件都有大约3000行代码,有时需要处理非常不同的任务) 不使用“新”语言工具(std::string不是新语言,但除我以外没有人使用它) 几个月前,我决定通过设计一个新的编译环境来对此做一些事情。我可以使增量构建可靠地工作,更快的编译时间,更好的结构化项目,自动.def文件生成。我什至还创建了一个从Git到Visual SourceSafe的桥梁。 我向几位同事和我们的老板展示了我的成就,但没人关心。他们都像“嗯...人们现在已经习惯那样做了。我们为什么要改变事情?” 我建议的更改是为了使我们能够从旧系统到新系统的一个软过渡而设计的。每个改进都可以单独安全地应用。 我什至试图让我的一些同事参与到变更中。但是到目前为止,还没有成功。 您是否已经遇到过类似情况?如果“以身作则”无效,该怎么办?

19
您会用自己的钱购买硬件以在工作中使用以更好地完成工作吗?[关闭]
在工作中,我得到了合理指定的机器(双四核2GHz,4GB RAM,160GB 7200RPM驱动器,Win7),但是在某些地方(HDD / RAM)缺少。IT人员可以用我自己的硬件代替硬件,所以现在可以使用SSD和额外的8GB RAM(以便可以运行多个Visual Studio和虚拟机)。我意识到选择公司的机器是公司的商业决定,但与此同时,更快的硬件使我更快乐,工作效率更高。 我想我的问题是,我是唯一愿意花个人钱在工作硬件上以改善生活质量的人(个体经营者:),我是否应该以其他方式来对待?是否可以追溯地说:“我认为您应该为这笔$ 500的硬件报销,因为[等等]”?



24
您如何专注于工作?[关闭]
有时候,我要做的事情很有趣而且很有趣。有时候,事实并非如此。有时候,他们确实不是。 当您的大脑宁愿做应做的事情以外的其他事情时,您是否有任何特殊的策略或技巧来应对这些枯燥的事情,尤其是当互联网及其无穷的机会吸引有趣的Slack时?

20
触摸打字的重要性有多大?[关闭]
当您已经是一名程序员时,您是否学会了触摸打字?如果是这样,它如何影响您的生产率?还是您仍然无法触摸文字,您认为它会阻碍您前进? 史蒂夫·耶格(Steve Yegge)认为,这很重要, 就我个人而言,我并没有注意到太大的差异,这可能是因为我实际花费的时间不到实际打字时间的25%(当时我正在从事大型遗留项目,而我却花了更多时间阅读和调试现有代码。)

17
如果您睡眠不足,可以实际产生高质量的代码吗?[关闭]
我听说过程序员编码两天不睡觉,喝咖啡和红牛。此外,在《社交网络》等电影中,他们还展示了马克·扎克伯格已经进行了36个小时的编程。我还在某处阅读过,在诸如Facebook,Google,foursquare等公司中,他们可以在24小时以上不睡觉的情况下进行编码。 这是真的吗?如果您被剥夺了睡眠,可以实际产生高质量的代码吗? 红牛之类的东西可以弥补睡眠吗?

9
将F#引入大型代码库和工程团队的现实陷阱[关闭]
我是一家软件公司的CTO,该公司拥有大量现有代码库(全部为C#)和相当大的工程团队。我可以看到,使用F#编写代码的某些部分将变得更加容易,从而导致更快的开发时间,更少的错误,更容易的并行实现等,基本上可以为我的团队带来整体生产率的提高。但是,我还可以看到引入F#的一些生产率陷阱,即: 1)每个人都必须学习F#,这并不像从Java转换为C#那样简单。尚未学习F#的团队成员将无法处理代码库的F#部分。 2)截止目前(2010年12月),没有可雇用的F#程序员。在各种软件工程师的简历数据库中搜索“ F#”,少于1%的简历包含关键字。 3)目前(2010年12月)的社区支持较少。您可以在C#中搜索几乎所有问题,并找到已经处理过的人,而F#却不是。第三方工具支持(NUnit,Resharper等)也很粗略。 我意识到这有点Catch-22,也就是说,如果像我这样的人不使用F#,那么社区和工具将永远无法实现,等等。但是,我有一家公司可以经营,但我可以领先但不流血的边缘。 我没有考虑其他陷阱吗?还是有人愿意反驳我提到的陷阱?我认为这是一个重要的讨论,很想在这个公共论坛上听到您的反对意见,这可能对提高行业采用F#起到很大作用。

8
OOP是变得容易还是困难?[关闭]
几年前,当面向对象编程的概念被介绍给程序员时,它看起来很有趣并且编程更加简洁。OOP就是这样 Stock stock = new Stock(); stock.addItem(item); stock.removeItem(item); 使用自描述名称更容易理解。 但是现在,具有数据传输对象,值对象,存储库,依赖注入等模式的OOP变得更加复杂。为了达到上述目的,您可能必须创建多个类(例如abstract,factory,DAO等)并实现多个接口 注意:我不反对使协作,测试和集成更容易的最佳实践

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.