让程序员精神分裂的9件事

我们总结了9件最让程序员糟心的事——简直就是分分钟让我们精神分裂啊!!!

小编觉得程序员们苦和泪编织的生活场景是这样的:老夫聊发少年狂,写程序,到天亮。 千行代码,Bug何处藏。 纵使上线又怎样,朝令改,夕断肠。
领导每天新想法,天天修,日日忙。 又要加班,惟有泪千行。
每晚灯火阑珊处,程序员,工作狂!仿佛都能看到程序员们“飞流直下三千尺”的眼泪,呵呵。

英文原文:Arg! The 9 hardest things programmers have to do

在外行人眼里,软件开发工作就跟看天书一样难——但是程序员往往会一脸苦哈哈地表示“还有更难的呢!”我们总结了 9 件最让程序员糟心的事——简直就是分分钟让我们精神分裂啊!!!

9. 设计解决方案

任务:给出一系列要求,设计出可实施的方案,包括设计数据和代码结构、功能算法和应用程序流程。

难点:确保你设计的解决方案得满足客户的要求,并且按时完成。

网友的话

“如何始于此终于彼可谓是最难的部分了。”——misconfiguration

“过于臃肿的设计会崩溃,过于浅薄则没有用。”——nvteighen

“不去一个个试一试,就不知道什么样的方案才适用……。”——jpkotta

8. 写测试

任务:编写单元测试,以确保每一部分代码都能正常运作。这些测试不但有助于在开发早期找出 bug,还能方便后续的回归测试。很多开发方法论甚至鼓励我们在写代码之前就可以先写好测试程序。

难点:选择和编写测试的过程是既辛苦又繁重的,有时候会让人感觉是在做无用功。

网友的话:

“我就是不喜欢写测试,你能怎么滴。”——Anonymous

7. 编写文档

任务:创建用于解释代码和应用程序的文档,包括独立文档和代码注释。目标人群范围从终端用户乃至其他开发人员。

难点:很耗时间,甚至有时候你会觉得要是没人看的话那不就是在浪费时间。

网友的话:

“Shit!!!就因为这是“进程”的组成部分,我们就得写这些可能根本没人会去看的文档。”——Christian Dechery

“通过文档,我们不需要阅读代码就能知道其作用。”——Raghu Nandan

“简洁又能清晰阐述的文档,我的大爱啊!”——Ayush Goel

6. 实现自己并不认可的功能

任务:不管什么原因,如果你的客户或者上司坚持某个特性和功能,那么你就不应该将个人的感情因素带到工作中去。

难点:摒弃个人想法和意见,竭尽全力地实现或支持功能需求。

网友的话:

“……当然你也可以坚持己见然后提早退休,呵呵。”——Sabbir Asgar

5. 关于别人家的代码

任务:维护、调试或改善由其他开发人员写的应用程序或者代码片段。

难点:理解前任开发人员的代码是非常痛苦的一件事,特别是如果此人已经离开,而他的代码写得乱七八糟、缺少必要的注释和文档,那就更悲剧了。

网友的话:

“没文档的代码就像后妈。”——Omar Diab

“应该淘汰掉那些不会好好写代码的程序员……”——Nani Tatiana Isobel

“代码破万行,没有注释也不怕不怕了。”——Simon Zhu

4. 和其他人打交道

任务:收集客户需求,提供状态管理报告,配合测试人员,和其他工程师协作。

难点:需要向非技术人士解释技术问题,不得不依赖于其他人交接过来的任务,与 QA 或其他开发人员出现意见相左情况的处理方式。

网友的话:

“交代机器干事比交代人去做要来得容易得多。”——Marko Poutiainen

“三人行,必有我师焉……合作也是学习的机会。“——Anonymous

“……和外行人说话简直就像对牛弹琴。” ——lnostdal

“总是要等其他团队完成任务之后我们才能开工,太拖我们的后腿了。”——Anonymous

3. 预估项目工期

任务:项目一开始,就需要估算出完成所需要的时间。

难点:哪怕没有接触过项目,手头只有模糊的需求说明也得硬着头皮预估时间。

网友的话:

“在开工之前,真的很难估算出会出现多少乱七八糟的问题……”——Jan Christian Meyer

“我发现估算时间可能是最难的部分了,因为很多人会将其当做一个承诺,信守着一诺千金。” ——Samnang Chhun

“……每次碰到这个问题我就一个头十个大……”——Jack Menendez

2. 解释我的工作

任务:向非程序员——亲朋好友,解释自己的工作内容。

难点:亲人和爱人不了解我们是做什么的。总是被要求去解决任何与计算机有关的问题(比如修电脑)。

网友的话:

“总是要跟人解释——我,不是,修电脑的。”——Brandon P-Lost

“不止一遍地和我的家人说明,我到底是干什么的。”——Utsav Singh Rathour

“编程的世界,外行人不懂。”——Anand Safi

“为什么别人都认为我是给电脑安装盗版操作系统和其他盗版软件的家伙呢?我干什么了我,我只是程序员。”——Anbu Jey

1. 命名

任务:为变量、过程、函数、类、对象、数据库组件等命名。

难点:即使是一个小程序,也会有很多需要命名的东西。名字最好一贯又简洁,有内涵,能承载一些意思——这个是什么或者这是用来做什么的。

网友的话:

“想啊想啊想名字,想出一个好名字~”—— Aditya Muraletharan

“别烦我,我正在给函数命名呢。”—— Lakshman Siripurapu

“计算机科学中只有两座大山:缓存失效以及命名。”——Phil Karlton

各位,最让你头疼的事情是什么呢?欢迎在这里倾诉。

作者:qwzs112

来源:51CTO

时间: 2024-10-22 08:59:56

让程序员精神分裂的9件事的相关文章

做一个优秀程序员应该知道的15件事_其它综合

1. 懂得分享.尽可能使用开源,并且当你有能力的时候,要对其有所贡献.聚全社会之智慧,胜过某些"大"公司之短视. 2. 公平竞争.尝试其他技术.框架.方法和观点.不要总以为只有你的选择才是可行的.别的选择也有可能比你的要强得多.要以开放的心态,来检验其他人的选择. 3. 不要攻击他人.像第2条所说的,不要仅仅因为别人恰巧使用.Net.Java或PHP就去攻击他们(我在这方面有一次教训).有时,它们或许要比你所认为的更有效.只要别人不是一无是处,你就可以从他们那里学到很多东西. 4. 自

程序员精神崩溃怎么办?九大建议巧应对

做了程序员这一行,也许你会渐渐感受到这一行的巨大压力,IT职员猝死的新闻也经常会听到.本文给出了9个避免程序员精神崩溃的建议,如果你的大脑濒临崩溃,赶紧看看吧. 1.独自待会 这可能是最重要的,因为它会影响你和他人(包括家人)之间的互动,也会影响你思考.所以每个月让自己有个一到两次的真空时间,将手机落在家中,让周围的人(妻子.基友等等)从你的世界中消失. 然后做点自己喜欢的事情,也不必非要是哪种爱好.你可以躺在沙滩上晒太阳,可以锻炼身体,也可以看看书(与IT不相干的):你需要一段平静的时间,就像

浅谈程序员接私单那点事及接私单需要注意的问题

原文:浅谈程序员接私单那点事及接私单需要注意的问题 关于接私单我的个人经历 先声明:我已经在公司上班,不会再接任何私单,勿扰! 13年刚毕业在一个三线都不算的小城市做.net 程序开发,由于实习做过java和C但是没有做过.net 且大学也没有接触过.net,所以刚试用期薪水只有可怜的(2500).我为什么去小三线城市,说多了都是泪就不说了,要租房不说,上班公交都没有,从实习就没向家里要过一分钱,所以刚开始在那边相当窘迫.不过编程还有点基础,刚在那公司上一个礼拜多就开始做项目,每周工作六天,天天

关注程序员健康:程序最需要注意的几件事_其它综合

导读: 说实在的,程序员是一门苦差事,虽然工资待遇相对其他行业略高一点,但是工作节奏和工作压力却远远大于大部分行业.然而,面对这样一个客观事实,仍有很大一部分程序员没有良好的工作方法和生活方式,让自己长期处在亚健康的状态,这是让人非常心痛的. 本文列出了几件毁掉程序员健康的事情,希望你可以尽量避免它们,写健康的程序代码. 一.熬夜 很多程序员将熬夜变成了生活习惯,还口口声声解释"程序员只有在晚上效率才高",这是非常扯淡的理论.有人将程序员做下图的类比,虽然比较贴切,但这种方式对你的健康

程序员的抉择:三个事和问题引发的肺腑之言

从9月份开始,是很多在校毕业生的择业时期,有很多很多朋友写邮件给我让我帮他们参考如何选择工作(对不起我无法在第一时间回信,因为实在是太多 了,我那繁忙工作和生活都没办法让我能即时回复),并且还有一个已经工作了多年的技术很强的朋友因为跳槽没有跳好,也和我说了很多他 的感受.从这个过程中让我有了很多感触和想法想和大家分享,本来这篇文章1个月前就想写的,只是要写下来时不知道如何整理这么多的东西和思绪.今天也不知 道,但是一定要写了,不然,我的这些感触和想法就会越来越不新鲜了. 注:这篇文章里的所有的故

强烈推荐:程序员接私活那点事(http://www.jianshu.com/p/cfab9e80b7c4)

文章转自:<http://www.jianshu.com/p/cfab9e80b7c4>,感谢作者分享! --------------------------------------------------------------------------------------------------           今天周末在家宅着,并不是我不想运动,是因为北京的雨雪交加导致我想在家写文章,不过想想给大家写文章还是蛮惬意的,望一眼窗外,看一眼雪景,指尖在键盘上跳动,瞬间有种从屌丝程序员转

强烈推荐:程序员接私活那点事

公众号:smart_android 作者:耿广龙|loonggg       今天周末在家宅着,并不是我不想运动,是因为北京的雨雪交加导致我想在家写文章,不过想想给大家写文章还是蛮惬意的,望一眼窗外,看一眼雪景,指尖在键盘上跳动,瞬间有种从屌丝程序员转变成了小姑娘们都羡慕的文艺青年感觉.哈哈,幸好不是什么2B青年.   好了,言归正传,回到程序员接私活的话题上来吧.虽然说程序员都很累,但是热爱程序员的人又累得其所,所以虽然很多程序员都很忙,加班是常事,但是钱哪有挣够的啊,闲不住的程序员总想着干点

那些程序员知道但大部分人不知道的事

Ron Gross 开源并不意味着任何人都能够编辑源代码. 逻辑这个词的真正内涵. 有很多正在使用的编程语言,但有上百种不通用的编程语言. 打造一个网站或者一个项目是艰辛的工作. 编程一整个领域每隔四年就会快速变化. "浏览互联网" 这个简单的任务背后,是引擎下成堆的不同层,好的程序员能够理解这所有不同层(通常要让所有层正确工作其实算得上奇迹了). 大多数程序员的日常工作与你大学里面在取得计算机科学学士学位过程中学习的东西相去甚远. 你是程序员并不意味着你能搞清楚为什么他们的文字处理应

Code Review 程序员的寄望与哀伤

一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测试中很难被发现.毕竟想要在测试环境完美的复制生产环境的所有情况也是不太可能的,导致出现了疏漏.对于这类情况,我们在想是否可以通过在线下做一些 Code Review(代码审查)假想线上的环境差异,通过在头脑中的假想上线运行来获得一些概念验证,这样是否能够减少上线后出现 bug 的概率呢? 感性 Co