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

简介:

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

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

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

英文原文: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

相关文章
|
6月前
|
网络协议 Java 程序员
一文聊聊程序员的痛楚与磨难选择
对于还没有完整读过源码的小伙伴,本文建议的源码阅读方式,不妨尝试下。从你准备开始阅读源码,你会发现,要做的事情太多了,不过一步一个脚印,你会发现,付出是值得的。
一文聊聊程序员的痛楚与磨难选择
|
6月前
|
人工智能 程序员 知识图谱
程序员-你得把自己卖出去
程序员-你得把自己卖出去
|
程序员
哪些事情是你成为程序员之后才知道的?
哪些事情是你成为程序员之后才知道的?
|
搜索推荐 程序员
程序员经常说的话
程序员经常说的话
80 1
|
设计模式 Java 程序员
@程序员,你该如何磨快你的锯子
@程序员,你该如何磨快你的锯子
153 0
@程序员,你该如何磨快你的锯子
|
程序员 开发者
作为一个程序员的阴暗面
  一个全栈开发者的自白   迈克尔-米勒 6分钟阅读   你刚从8小时的工作中回家。你一整天都在接听电话和发送电子邮件,试图找到新的线索,以便你能在这个月赚到佣金。回到家,和家人一起在你辛辛苦苦维持的两居室公寓里放松一下,不过是在第二天的工作开始之前的一个单纯的假期。   你和你的伴侣赚的钱只够你们两个人每月支付所有的账单并让你们的家人吃饱。当你坐在餐桌前时,你感觉到你的手机在震动,因为有一条新的信息传来......   这是你的工作。   信息中写道:"明天不要再来了,你已经被替换了"。   当你坐在那里盯着墙壁,无法理解你刚刚读到的内容时,思想开始在你的脑海中飞驰。我们这个月
176 0
|
前端开发 程序员
如何成为一个牛逼的程序员
“成为一个杰出的程序员!”,每个程序员都是这么想的,虽然嘴上不说!这是一个人人自称“屌丝”,骨子里却都认为自己是“高富帅”(或者认为自己终究会成为高富帅)的年代! 大部分时候,我们一直在努力成为一名优秀的程序员。
1209 1
|
程序员 开发者 iOS开发
30岁以上的程序员该如何自处?
程序员30岁以上,是可以继续技术生涯的. 我身边有很多邻近50+,还在做技术. 如果你喜欢做技术,又能扛得住环境的噪音, 年龄其实不是问题. 遗憾的是,其实很多人并不喜欢软件开发这条技术路, 心里早已存在干几年就要转型的念头, 于是总是容易被外界喧嚣推动的左右摇摆.
1278 0
|
架构师 Java 程序员
其实,咱们程序员过了30岁,还可以更牛逼!
程序员干到30岁,好不容易从码奴混到了白领,却再也干不动了,还时时面临失业的危险。30岁,是一个程序员伤不起的年龄。明天,何去何从? 一.30岁现象 在官场上,曾经有一个59岁现象,就是官员们会在59岁时,会使劲捞上一把。
1372 0
|
架构师 程序员
如果我告诉你,程序员这条路很难走,你还要坚持走下去吗
可能很多人都觉得程序员是个高薪行业,动不动就听见谁月薪几万几万,心里羡慕不已。回头看自己每个月手里可怜的工资条,心里更是烦躁不已,于是乎下定决心一定要像人家一样,月薪几万。
1776 0

相关实验场景

更多