程序员的10大失望


对于那些与软件创建无关的人,开发人员的工作似乎很容易:您在市场上需求旺盛,他们支付高昂,公司试图取悦于您,以此类推。 所有这些都是正确的,但是如果说实话,那么程序员会有很多不愉快的时刻。 我们收集了十个最经常使软件制造商感到不满的最受欢迎的信息。


10.铁



当然,程序需要设备才能运行。 而且,无论某些开发人员迟早在创建和调试软件时如何忽略硬件的作用,他们不可避免地会遇到特定于设备的问题。 因此,建议初学者始终研究熨斗的功能以及将在其上执行其代码的系统,以免以后遇到麻烦。


“每个至少曾经调试了数据库服务器上的怪异崩溃或试图了解RAID驱动器无法正常工作的程序员都知道这是硬件问题的痛苦。” 史蒂夫·博思威克


“程序员讨厌硬件,因为他们不能总是将一切归咎于硬件!” 无名氏


9.全天坐下



除非您拥有带跑步机的台式机,否则软件开发将永远不会像有氧运动那样。 大多数程序员花很长时间坐在屁股上,敲击键盘并专心地盯着屏幕。 一段时间后,长时间坐着会变得非常不舒服。 而且,即使您甚至无法搬到另一个地方来改变周围的环境,有时也会很快使您陷入痛苦。


“我整天坐在椅子上,凝视着屏幕。 它是从前一段时间开始的...首先是背部,然后是脖子,眼睛疲倦,好像在灼痛,头痛...腿没有安宁...我试图通过健身,太极拳,瑜伽,气功来弥补这一点,我去骑自行车上班了-仍然不能坐着八个小时或更长时间。 在办公室里度过一整天……看着太阳从天上飞过,而不是在生命过去时从这把椅子上抬起头来。” 马库斯·托曼


8.调试



即使是最好的,精心编写的代码也并非没有错误。 自然,开发人员被迫定期花时间搜索和修复缺陷,无论是在其代码中还是在其他人的代码中。 有些臭虫很容易发现和治疗,而另一些臭虫则难以捉摸,使他们不得不花费很多时间并怀疑自己的心理状态是否稳定。


“难以复制的检测,或者最糟糕的是,检测到在同一段代码上意外通过或失败的集成测试错误!” 然后感觉就像您永远找不到隐藏在代码中某个地方的这些该死的神秘错误。 傅! 伊曼纽尔·ngwane


“我们编写了如此大的程序(有时甚至是小的程序),以至于在调试时,我们会钻研如此之多的程序,而忽略了错误本身是什么 阿育什·巴特那加(Ayush Bhatnagar)


“调试,尤其是在处理数千行的大型项目时。 像我这样的怪胎更喜欢在调试时通过投影仪显示图像,以使眼睛更容易。” 艾萨克·佩雷斯


7.不良文件



与其他人的代码一起工作有时很烦人,但是如果有充分的文档证明,那么工作就不那么麻烦了。 不幸的是,并非总是如此。 如果代码中没有注释,也没有任何正常工作的书面解释,则您必须花费更多时间调试,扩展或集成应用程序。 而且这不会以最佳方式影响程序员的幸福。


“最令人讨厌的是,当您被雇用来处理文档记录不良的软件时。 对于那些接受项目工作的人来说,这使生活变得困难。 缺乏注释和语义不佳,尤其是在前一个程序员之后仍然存在大量错误和错误时。” 天使三世


“该审判是由一些白痴编写的未记录且未注释的代码。” 阿比舍克·乔汉(Abhishek Chauhan)


“与大多数程序员一样,我花费更多的时间来维护文档质量较差的代码,而不是编写新的代码。” 沃尔特·卡拉斯


6.代码合并



像Git或Subversion这样的源代码控制系统是很好的工具,它使许多程序员可以同时处理同一代码库,而无需费力。 但是最后,需要将更改提交给存储库,并且如果两个开发人员更改了一个文件或子例程,则可能会发生冲突。 有时,这样的冲突可以简单地解决,有时则不能。


我不喜欢合并,因为我想更改代码,所以我的同事希望以不同的方式进行操作-我们该怎么办? “我总是试图找到将两种解决方案结合起来的方法,但是如果发生真正的冲突,那么合并就变得非常不愉快。” 苏ess


“合并冲突”是绝对的邪恶 Koustuv sinha


5.不切实际的期望


软件开发人员-人们远非愚蠢。 但是正是由于这个原因,各种各样的老板,项目经理和销售人员常常对程序员或程序员团队在某个日期之前可以创建的内容表现出不切实际的高期望,因此计划过多。 结果,开发人员最终会在工作中精疲力尽,并且通常不会因此而感到愉悦。


“最不愉快的事情是向人们解释您不是魔术师,您的知识是有边界的,可以在指定的时间内借助可用工具准确地实现什么,然后尝试将所有这些传达给从未参与过编程并且不愿意这样做的人们“马克·米勒


“您的老板对您和您的同事寄予厚望,但时间和资源不足以接近预期结果。” 凯文·塞金


“项目经理和业务分析师承诺,客户会让月球从天上掉下来,程序员必须不惜一切代价做到这一点 Ratnakar sadasyula


“当有人要求做一些琐碎的事,然后随便提出对计算机科学又要发展二十年的需求时,我会喜欢它 弗拉迪斯拉夫佐罗夫


4.其他人破坏了我的密码



任何开发人员以一种或另一种方式编写的代码都必须与其他程序员的代码进行交互。 通常它是一个应用程序,第三方库,工具或另一应用程序的一部分都没有关系。 我们的代码不是孤立存在的。 结果,某人可能由于匆忙,误解或粗心大意而破坏他人的代码,这会导致不满,争吵,压力和经常骂人。


“我遇到的最糟糕的事情是当我与一个人在没有任何通知的情况下更改了我们俩都引用的库时编写了一个程序。 结果,我的子例程调用丢失的变量或添加了它们。 甚至更糟的是,我无法访问的库代码崩溃了。” 谢里·弗雷森克·哈珀


“当您的部分代码因有人更改了部分代码而停止工作时。 通常,它们的功能比以前需要更多的参数。 有时功能通常会消失或转移到另一个文件。” 苏ess


“需要不断返回并重做您几天前编写的代码,而该代码只是“中断了”(不是第一次),这是由于对通用系统进行的更改而没有经过甚至没有进行测试或评分的人员进行的讨论测试失败。 结果,他们告诉您您的代码“无效” 西蒙·海斯


3.人们不明白我在做什么


尽管程序员的职业越来越流行并且软件无处不在,但是许多非IT专业人员仍然不了解开发人员的实际工作。 对于他们来说,我们只是“技术人员”,他们在软件和硬件开发人员之间看不出太多区别。 不断的误解和不恰当的想法,尤其是在您的家人和朋友中间,可能会使程序员发疯。


“在与IT无关的人们中,普遍存在一个误解,即程序员由于在计算机上工作,因此他们应该能够对其进行修复。 这与驾驶汽车大致相同,您应该能够挑选出变速箱。” 史蒂夫·博思威克


“是的,我靠编写代码来谋生。 不,我不能帮助解决打印机问题,也不能通过打开字母所附的文件或无法启动的计算机来解决问题。 至少-直到您请我午餐或喝啤酒,然后我才能帮忙。” 菲尔·约翰逊


“向我解释每个角落都没有在他们的计算机上安装盗版软件的商店的人。” Anbalagan jeyabalachandran


“家人和朋友认为我可以远程修复与计算机连接的所有内容。 硬件和软件均如此。 他们不明白。 结果,您必须听取他们的刺耳评论,例如“即使您无法在笔记本电脑上固定DVD驱动器,您也将是什么样的程序员”。 贾兹巴巴


“只有1-2%的人知道我实际上在做什么。” 亚辛·佩森


2.缺乏时间



与大多数其他业务领域一样,创建良好的软件也需要时间。 不幸的是,与其他地方一样,管理层和/或客户通常不想等待足够长的时间来正确实施理想的解决方案。 结果,经常敦促开发人员使其更快。 这导致使用难看的黑客,技术欠债和不良的文档。 反过来,所描述的结果会在后续的改进和维护过程中引起头痛,特别是对于必须处理现成代码的程序员而言。


“我想把一切做好,但由于压力,我必须匆忙做。 有时候这是有道理的,但是现代编程文化在这个方向上走得太远的感觉并没有消失。” 蒂洪·杰维斯


“对我来说,最糟糕的事情是匆忙编写凌乱的代码,并且知道我可以使其变得更加优雅。 时间紧迫不断... ...


“ ...当您所做的大部分工作甚至与良好的编程技术都不是很相似时,并且仅仅因为速度比质量更重要,您就必须按照自己的要求去做。” 何塞·帕拉拉


“ ...总是没有足够的时间和金钱来创建正确的解决方案,但始终足以在以后一次又一次地纠正它 罗米·瓦西


1.使用他人的代码



迟早,软件开发人员必须处理别人编写的代码。 无论是从工作中的前辈继承的旧代码,还是第三方API,还是由顾问编写的代码,您将无法完全避免需要修复,扩展和/或集成其他人的程序。 这通常会使开发人员将头发扯下来。


“……最糟糕的是爬上外来代码,理解它,调试它,配置它。 当撰写此书的人辞职并且不会以任何方式帮助您时,这是完全黑暗的。” Ratnakar sadasyula


“试图解密数千行未记录的代码。”


“有时候,我不得不处理顾问编写的AWESOME代码。” 乔·桑森


“另一个令人沮丧的问题是第三方API。 有时您严重依赖它们,然后您注意到一个问题,或者需要某种功能,但是API无法自己解决它,因此您必须联系作者并希望获得最好的结果。” 凯文·塞金


“语言和框架的错误。 您花了几天的时间来弄清楚为什么您的代码不起作用。 而且只是为了发现整个问题是语言或框架中的错误 约翰·保罗·阿尔卡拉


“发现由没有适当资格的人编写的代码……” Nani Tatiana Isobel




也许您的前十名中还有其他? 欢迎评论:)

Source: https://habr.com/ru/post/zh-CN410621/


All Articles