程序员的最大挫折

作为软件开发人员的工作,就像任何其他工作一样,它有它的烦恼。这是最有可能让他们拉出头发的东西的列表。

一个人拉他的头发出
斯蒂芬·绍尔/肖像历史/吉列尔梅·塔瓦雷斯,CC BY-NC

非软件开发人员,开发人员的工作必须看起来很甜蜜:你在高需求,你得到报酬真的很好,公司给你各种有趣的特殊待遇等说实话,虽然,而所有这些都是真实的,工作,就像任何其他的,有很多瞬间让他或她的头发的程序员想拉(还剩下些什么)的。有任意数量的事情,可以在白天一般的软件工程师的生活,可以是令人沮丧之外发生。

基于在线论坛评论和投票从实际程序员,使用箭头上面看到大约是一个软件开发人员的10件最令人沮丧的事情。如果在阅读之后,你仍然想成为一个,不要说你没有警告。

也可以看看:

PC负载信620x465

10.硬件

前额smacker:软件,当然,不能做更多的事情,而不在其上可以运行的硬件。不亚于一些软件开发商想忽略事物的硬件结束,这是不可避免的,迟早,他们将建造或调试程序时,面临着硬件的具体问题。这就是为什么一些程序员强烈推荐新的软件工程师熟悉底层硬件和系统,在他们的代码将运行,以减少未来的恶化。

行情:“谁曾经被要求任何程序员调试数据库服务器上的一个奇怪的崩溃或为什么RAID驱动器工作不正常知道,硬件问题是一种痛苦。”史蒂夫·博思威克

“程序员讨厌硬件:因为他们不能总是责怪硬件!”匿名

街头表演者坐在看不见的椅子上

9.整天坐着

前额smacker:除非你有一台跑步机办公桌,软件开发是不完全的有氧运动。大多数程序员花大量时间坐在后端,弯腰驼背的键盘,在他们的电脑显示器(S)目不转睛地盯着。所有这一切坐姿可一段时间后,非常不舒服。在那里,你做的一切,坐在曾经在一段时间也能得到相当令人沮丧,如果你至少变化没有。

引用:“在椅子上坐了整整一天,并盯着屏幕。前一段时间它开始..第一后侧,脖子旁边,眼睛燃烧,累了,头好痛..双腿开始变得焦躁不安......虽然我试图与健身,太极拳,瑜伽,气功,以抵消自行车上班 - 我不能为8H +每天这样做了。被卡在办公室里整天..看到太阳升起和下降,而生活推移还坐在那个愚蠢的椅子“。马克托曼

灯泡的使用frowny脸一张图片,上面写着调试很烂

8.调试

前额smacker:即使是最好的,最精心设计的代码将有错误。自然,那么,开发商必须定期花时间来追踪和修复软件缺陷,无论是在自己的代码或在别人的。虽然有些错误可以很快发现而被压扁,也有的可能令人恼火的镜花水月,可能会导致许多丢失小时的良好发展时期,更不用提了一下编码器的理智。

行情:“发现一个缺陷是难以复制并且在由一个集成测试体现了最坏的情况下,它随机通行证和失败的同一段代码!!!后来有你可能永远也找不到那些神秘的邪恶的错误代码某处潜伏的感觉。哎呀!”灵光Ngwane

“我们写这样的大程序(甚至有时小),虽然调试我们去如此之深,我们忘记原来是什么错误了。”AYUSH纳加尔

“调试,尤其是当你在涉及千行代码的大项目合作。大多数爱好者喜欢我倾向于使用投影机的调试,因为这使我们的眼睛更舒适。”艾萨克·佩雷斯

“Heisenbugs。”阿瓦尔加尔格

空书架的图片

7.差劲的文档

前额smacker:与其他开发人员的代码工作,可令人沮丧,但如果上述代码是至少记录以及它的很多更讨人喜欢。不幸的是,事实并非总是如此。它只是需要很多时间来调试,加强,或与被评价不佳或以其他方式缺乏的是如何工作的一个写得很好的解释软件集成。另外,它的坏的程序员的血压。

行情:“最令人沮丧的事情是被雇用工作的不良记录软件。这让事情变得很难为那些谁接手该项目。缺乏的意见和写得不好的语义,特别是当以前的程序员留下了一堆问题和错误的“。天使天使三

“理解无证和一些白痴写的代码取消注释。”阿布舍克肖汉

“我最喜欢的程序员,花更多的时间保持不良记录代码,而不是编写新的代码。”沃尔特·卡拉斯

路牌,上面写着合并业务

6.合并代码

前额smacker:源代码控制系统,如GIT中或颠覆,是伟大的工具,允许多个开发人员在同一代码库同时工作,无需踩着对方的脚趾。然而,最终的代码更改都必须致力于在其如果说,两家开发商已经改变了相同的文件或程序,可能会发生冲突点的存储库。在这种情况下,这些变化都合并在一起。有时,这些合并冲突可以简单解决,其他时间,没有这么多。

行情:“我也不喜欢,因为合并这就像,你想改变这样的代码,我想改变代码的方式,所以我们应该如何更改代码?我一直能够找到一种方法,二者结合我们的变化,但如果有一个真正的冲突将是一个尴尬的过程。”杰西卡苏

“合并冲突*纯粹的邪恶*”Koustuv辛哈

在夜空中的山核桃饼
迈克·利希特,CC 2.0(创作共用BY或BY-SA)

5.不切实际的期望

前额smacker:软件开发人员通常被认为是很聪明的cookie。不幸的是,这经常会导致老板,项目经理和销售人员有什么程序员,或者他们的团队,可以合理的确定日期和可交付过承诺产生不切实际的期望。这反过来,可能会导致开发商倦怠和一般不快的编码器之中。

行情:“最令人沮丧的事情是矫正的人的概念你真的是向导,有限制你的知识基础,有什么可以利用可用的工具来实现身体的时间限制内,并试图解释这些限制是那些以前从来没有谁编程的计算机,并且不想要。”马克·米勒

“你的老板为你和你的同事非常高的期望,但也没有被足够的时间/资源,甚至接近这些期望。”凯文Sekin

“项目经理或业务分析师承诺月亮客户和程序员必须这样做,不论发生什么事情。”Ratnakar Sadasyula

“当有人问一些琐碎的东西时,我喜欢它,然后只是随便抛出一个需要推进几十年来推动Compsci领域的特征”弗拉季斯拉夫·Zorov

,说不要碰我的标志

4.违反我的代码的其他人

前额smacker:每个开发人员的代码,在某些时候,必须与其他开发人员编写的代码协同工作。无论是相同的软件,第三方库或工具,还是其他的应用程序的不同部分,没有一个开发人员的代码是一个岛屿。不幸的是,这意味着,一个程序员可以通过急速,通信差,或简单的粗心,打破另一程序员的代码,其可以是多张力,压力,并经常诅咒的原因。

行情:“我曾经有过的最严重的挫折是共同编写程序的人谁将会改变我们俩都链接到库没有告诉我,它已经改变了。这意味着我了例程调用失踪变量或添加了变量或更糟的是,该代码会崩溃在图书馆,我没有访问“。谢里Fresonke哈珀

“当你的代码的一部分停止工作,因为别人改变了他们的部分代码。往往比他们之前其功能需要更多的参数。有时,他们被完全消除或放置在不同的文件“。杰西卡苏

“Constantly having to go back and rework stuff that you wrote just a couple of days ago that has just been ‘broken’ (for the nth time) by changes to the wider system implemented (without discussion) by someone who either didn't test or didn't care that their tests failed - the first thing you hear about it being ‘your code is broken’.”西蒙·海斯

手绘标志广告一个得心应手的人的各种服务

3.人们不理解我做什么

前额smacker:尽管越来越多的软件开发商那里,不被刚才的一切我们使用,许多非技术的人还是不明白什么软件开发商确实提到关于软件的依赖增加。非技术人,开发商只是“科技人”,而很少考虑到之间,说的差异,那些谁在软件工作和对硬件的工作。恒误会和错位的预期,特别是家人和朋友,才能真正带动一个程序员巴蒂,

行情:“好像有非技术人员,由于程序员用电脑工作,我们必须知道如何解决他们之间的一种常见的误解;这是一个有点像假设巴顿知道如何拆卸和组装的赛车变速箱,只是因为他也知道如何驾驶F1赛车。”史蒂夫·博思威克

“是的,我写的代码为生;不,我不能帮你打印的问题或附件不能打开或笔记本电脑,不会启动。除非你想给我买午餐或啤酒,那么也许我可以帮助“。菲尔约翰逊

“解释我不是那个在每个角落里有商店的人安装盗版的操作系统和其他盗版软件。”Anbalagan Jeyabalachandran,

“家人和朋友认为你可以解决任何相关的远程电脑。无论是硬件还是软件。他们不在乎。[你]终于结束了聆听他们的辱骂。喜欢的东西:“什么样的软件工程师是你,如果你甚至无法修复我的笔记本电脑的DVD-ROM”“。Jazib巴巴尔

“1%-2%的人知道你是真的在做什么”亚辛Pekşen

一个绘图,说当你需要它?在与现在标签小时时钟
Dan4th尼古拉斯,CC 2.0(创作共用BY或BY-SA)

2.缺乏时间

前额smacker:像大多数的努力,它需要时间来手艺好的软件。不幸的是,又因为在大多数的努力,高层管理人员和/或客户通常都不愿意很长时间来等待要正确实现的理想解决方案。其结果是,软件开发人员往往推得到的东西很快完成,这可能会导致丑陋的黑客,技术债务,并缺乏文档,所有这些都可以导致更头疼的道路,特别是对谁都会有程序员以应对未来所产生的代码。

行情:“我想要做的事情,但有一个很大的压力做的事情快速亲热代替。有时是有道理的,但感觉像电流编程/企业文化发生了剧变路太远这个方向努力。”吉洪Jelvis

“对于我来说,在匆忙之中,写代码,我会打电话克鲁格代码,然后知道,有一个在产品代码,我希望我写的更优雅。有一个恒定的时间压力......”基因休厄尔

“......当你们许多人都没有,甚至远程关于你知道什么事情是良好的编程习惯,但是因为速度快比质量更重要,你必须做他们要求你什么。”何塞Palala

“......有是正确的解决方案从来没有足够的时间和金钱,但足够快速固定和肮脏的,一遍又一遍。”罗米Awasthy

一个钟面,上面写着遗产
Kevin Dooley,CC BY 2.0(创作共用BY或BY-SA)

1.工作与其他人的代码

前额smacker:作为一个软件开发者,迟早,你必须与别人写的代码工作。Whether it’s legacy code you inherit from someone who came before you at a job, a third party API, or code written by a consultant, you won’t be able to completely escape having to fix, enhance, and/or integrate someone else’s program. Needless to say, having to do so can often cause developers to pull out some - or alot of - hairs.

行情:“......最糟糕的是不必通过一些别人的代码,算起来,进行调试,各地调整它走。而且它甚至更糟的是,如果你之前的人已经离开了公司,你真的从未有过的任何知识转移“。Ratnakar Sadasyula

“试图破译成千上万的注释掉的代码行。”西蒙·朱

“有几次,我已经处理了由顾问编写代码TERRIBLE。”乔·萨姆森

“我觉得是非常令人沮丧的另一个问题是第三方的API。你靠他们有时很多,然后你会注意到一个问题,它还是需要一个新的功能,但特定的API不给你任何来源来解决自己的问题,所以你需要问API的作者很好地与希望求最好“。凯文Sekin

“语言和框架错误。你花了几天弄清楚你的代码不起作用。只要找出你正在击中语言或框架的错误。“约翰·保罗·阿尔卡拉

“与发现有人编写的代码居住谁几乎为合格不写,因为他们本来应该......”纳尼塔蒂亚娜伊泽贝尔

版权所有©2015年Raybet2

相关幻灯片