说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

不利于写出好代码的15个职场因素

HTML文档下载 WORD文档下载 PDF文档下载
程序员往往喜欢在安静的环境下编写代码,突然而来的“拦路虎”会让他们很苦恼,因为一旦思绪被打乱,他们就需要重新整理。那么在现实的办公环境中,有哪些因素会打断程序员,并且不利于程序员编写出好的代码呢?

每个开发者在编码时,都希望代码像水管的水一样源源不断的流出,思绪不被打断。但在现实开发中,经常会由于一些事情突然中止或停下。本文就总结了现实工作中,影响编码进度的15个“拦路虎”。


1.开会

停止手头的编码工作,去参加会议。程序员或许不会相信,他们可能已经在会议室花费了数周或数年时间和老板闲聊技术细节。

当你从会议室出来后,大脑可能需要一定的转换时间,才能再重新投入到编码工作上,你很有可能需要一个小时的过渡。

2.回复所有的电子邮件

如果会议已经够糟糕的了,那么没完没了的邮件可能更让人头疼。经过几个小时的来回讨论,最终却没有个结果。

3.衡量生产能力

有些管理团队受到一些书籍启发,对提交到代码库的代码行数或bug修复数进行统计,并且作用一种衡量标准。他们认为,统计是一种衡量,而衡量肯定是有好处的。

然后他们根据此标准为开发者的工作能力进行排名。开发者犹如网络游戏中的玩家,他们将更加关心自己的排名,而不是如何让代码更好。

开发者的重点变成了统计代码所编写的行数、解决bug或把所统计的提交的仓库里。如果代码行数都计算在内的话,原本一个问题只需10行代码即可解决,程序员有可能编写5000行代码,来让功能更加灵活和兼容,这样,他的代码总量就会增加5000行了。

衡量生产力反而会使代码变的更糟,让项目里充满功能丰富但过度设计的代码。

真正解决这个问题,我们需要跟踪bug,我们需要组织工作流和协调软件开发,这些都是无法准确衡量。

4. 爱慕虚荣(Prima donna)的开发者

就开发者而言,最糟糕的莫过于其他开发人员没有按照项目需要进行开发,而是用自己的方式来迭代项目。每一个开发者都能识别出可怕、不可原谅的最后一次迭代行为。

这种不考虑之前已完成编程工作的态度会拖慢项目的进度。傲慢和利己主义会导致程序员扔掉合适的代码,而以他们认为的“正确的方式”重新构建。

5.“以后再修复”思维模式即“技术债务”

有时候,我们很难按照需求在数天里完成相应的功能,因此我们可能会偷工减料、补丁代码等。聪明的项目经理在弄清事后必须补上的“债务”后,形象的称它为“技术债务”。

每个项目都会有一定的技术债务,有的可能会快速还清,而有的可能会在下一个版本中初见端倪。

6.非程序员经理

有些程序员很喜欢这样的经理,他们不会对你的代码指手画脚,而且在技术上愚弄他们很容易。而他们也很难给你技术上的指导。

7.程序员经理

虽然程序员可能会抱怨要和完全没有编程经验的项目经理一起工作,但他们也经常私底下说如果项目经理具备编程能力可能会更糟糕,甚至有多糟糕就多糟糕。

具有编程能力的项目经理可能会对项目管理的太细,因为他们一旦有新的观点,代码就会大片修改。

8.技术过硬但有些强势的程序员

程序员往往都是因为过硬的技术才被公司赏识,而不是人际交往。但不能每次出现问题都责怪穿西装不自在或销售人员过于热情,有可能问题出现在自己身上。

客户想要一些不同的东西,这对此类程序员来说无关紧要,他们更多的是关注于技术参数。

然而在人际相处中,他们经常会过滤掉彼此的特质,当他们彼此产生争议时,就可能影响到整个团队的进度。

9.自私或莽撞的程序员

自恋狂程序员的工作可以说是非常酷和快,但遗留的问题也会很多,而你的工作就是处理这些琐事,对程序进行测试保证它不会崩溃。

许多团队在发现这一点后,都已经太晚了。在早期的测试中,代码块都可以很好的工作,但在推送一些真实数据后,大家才意识到并没有人检查这一问题。

10.文档不全

有时,这里会有大量的文档,但它可能是几个月前或者一些老版本的记录。我们没有时间继续记录和修复代码,但它对我们来说仍然是有用的。

11.纯粹地编写文档

虽然我们都经历过没有文档的项目,太多的废话和较少的代码常常会导致代码失败。程序员经常会根据需求编写评论,他们很详尽地把每个细节记录在文档里,没有总结或进行深入的理解,但如果没有提供太多的抽象和理解,这很有可能是一份失败的文档。

12.易分散注意力的环境

虽然销售和营销团队能够在具有噪音的环境里很好的工作,而程序员则需要图书馆般那种安静的环境。虽然许多企业给包括程序员在内的员工提供了类似乒乓球这类的运动,但他们常常忘记,程序员需要在安静的环境下办公,否则,嘈杂的环境很容易分散程序员的注意力。

13.办公文化

你想拥有自己的办公室吗?还是你想在可以随时提出你的问题团队里工作?你是喜欢在清晨工作还是熬夜呢?

如果一个团队拥有一个相似的风格,那么这个团队会运营的更好。如果无法找到一个共同点,很有可能会快速失败。

这可能太一概而论了,但你想象下,如果你正在编译或者准备完成项目,而此时团队里的人在互相争吵,你不得不中断下来,这样时间不就浪费了吗?

倘若我创建了一个非常复杂的算法,而中断、谈话、甚至是敲键盘的声音都会使我无法集中精力,这时,我就非常希望有属于自己的办公室。

14.紧随遗留技术

最令人讨厌的莫过于去改写那些尘封已久的旧东西,他们经常会忘记这样做所花费的成本,有些代码是在ASCII之前编写的,意味着你要重新转换输入输出。旧的系统通常会计算空格字符,仅仅是为了弄清其在数据库中是干嘛的,这更要进行转换。

程序员做大量的工作来截图、重新格式化等,而过一段时间后,他们可能会花更多的精力去复制代码,而不是去重新编写逻辑代码。

15.迷恋最新的工具

最新的工具可以给你带来很多乐趣,处于最前沿的程序员总是喜欢修改整个API,并且重写它们,迫使人们不得不修改底层的代码。

当我试图兼顾Python 3.0和Python 2.7两个版本时,尽管Pyhton是一个相对稳定的版本,但我还是感到很烦。

在许多情况下,新的工具都没有得到十足的锻炼。例如,Node.js的确非常快,但只有在你重新学习了关于创建进程时死锁的所有知识后才能做到。利用最新的工具是可以带来很好的结果,但天下没有免费午餐,并且会为此付出足够多的学习成本。

来自:InfoWorld

2013中国大数据技术大会盛大开幕 从黑色星期五找到的六个规则 帮助网站转化 移动开发者的自学宝典:十大在线编程学习网站 MIT新技术:远程触摸和操纵实物 创新人机交互 中国移动研究院业务支撑研究所所长孙少陵:大数据实时处理技术发展趋势及中国移动实践和展望 “第一届中国大数据技术创新与创业大赛”主办方发言及创新分赛颁奖 中国移动研究院业务支撑研究所所长孙少陵:大会及与会嘉宾介绍 中国工程院院士、大数据专家委员会主任李国杰:能挖掘出价值的数据就是好数据 阿里飞天平台总架构师唐洪:飞天开放平台 百度大数据首席架构师林仕鼎:新计算时代 金山发布全系列IaaS平台 Google无人驾驶汽车与机器人组合,秒杀无人机 Google欲推新Chrome应用:适用于Android、iOS平台 comScore:美国市场苹果手机独占鳌头 Android和iOS双寡头垄断 一周消息树:新技术实现远程触摸和操纵实物 创新人机交互 研发周报:帮助网站转换的六大黑色星期五规则 【开源专访】JFinal作者詹波:以极简方式实现Web项目的极速开发 2013中国智能交通与大数据技术峰会:迎接交通大数据新时代 大数据应用技术(上):加速创新,重塑世界 英特尔百度携手推出首个跨平台应用商店 12月9日:计算机软件第一夫人Grace Hopper出生 触摸屏将成笔记本标配 电脑行业或将迎来又一春 触摸4G,你必须要知道的那些事儿 TIOBE 2013年12月编程语言排行榜:Transact-SQL冲刺年度语言 敏捷开发的6个实战经验 【图文】走近华为企业业务与支撑万人技术团队的云数据中心 《习惯联盟》陈晓冬:与京东云合作让我们没有后顾之忧 流计算与批处理同现:畅享大数据时代的开源实践 挑战和机遇并存:大数据时代机器学习与可视化 【企业开源系列】收发一条Twitter推文的背后 在IE11中更快地获得您需要的内容 紧急求助:在SQL语句中如何表述日期类型字段的常量? 有多少程序员长过青春痘? 怎样实现在点击超链接时处理另一事件 如何让网上资源不被别人下载到本地 天津的朋友们谁能告诉我哪里能买到《Windows程序设计》!!! 求助help & manual(2.7.0版)的注册码 如果win98中的pws中不包括mts,能正常工作吗 ? 为何在BCB中用TDBimage 存取Mysql数据库的图象时出错:invalid blob size ? 如何实现全自动拔号(无用户交互) 请看这个sql语句,怎么错了? 请问,如何设置 键盘开机呀? 关于光驱 如何获取delphi中dbgrid的单元格的内容 问题征解,关于一个智力题的程序解法。 sos!!求救!!!java运行时环境设置的初级问题!各位大侠帮忙了!!!! :-(( 關于delphi6的ActionMainMenuBar组件和ActionToolBar组件 的菜鳥級問題?? 李维的电子商务篇的第二章的例子没法运行,这是为何? 谁能告诉我学VC的步骤和教材啊,还会加分啊 如何将一个可以滚动的窗口的全部内容转换为BMP保存起来(如:IE)?(提供线索就有分)欢迎参与成果供享!!! 请教关于VsPrint Oracle8i Enterprise Manager Release 2.1 相当于ORACLE8.1.几啊? 使用ListView如何操作数据 ★★★简单问题送100分★★★:如何打印框架容器里的的全部内容,包括mschart图表,label,combox等? 我的DW里加入FLASH特效时为什么中文会变成乱码?我给分的............ 我感到天昏地暗、日月无光、前途渺茫、无心睡眠、精神恍惚、双目痴呆相恋8年准备结婚的女友突然和别人结婚了!我受不了了!我快疯了! 请教有关IE5带的ActiveX控件Dhtmled.ocx的98下安装问题 程序员与高级程序员到底那个好过 关于 delphi的一点东东 access一个日期时间字段是短格式的,用什么SQL语句改成长格式的? 怎样才能在主页中显示自己的qq是否在线?????? 有没有平面按钮控件 Interdev6.0 IDE 环境下无法使用MSDN access一个日期时间字段是短格式的,用什么SQL语句改成长格式的?? 大家来帮帮我想想?应该怎么样来删除呢!!!! 各位用VB.net的兄弟,请问你们使得是 Beta1 还是 Beta2 ? 迷周星弛的请来签名啊! 如何操纵RichTextEdit控件??? 我得到GIF图像的这一点的值,怎样得到它的正确的RGB值? 我想请问在CHTML(compact html)中如何对页面进行刷新。 各位老大,你们是如何找到工作的? 在VB.net中,如何实现VB6中的 set A=createobject("XXXX.XXXX") 诸位大虾救命,如何在EDIT控件中判断DBCS字符 !!求救!!对时!!! 在VC中使用Crystal report 8的问题 如何编写c程序自动对GIF图片设置大小 请教:鼠标在windows桌面上按键是否会引发某个事件? 查看DLL的输出函数 menu的问题 web的组件由什么来编写? 嵌入式数据窗口,怎样可以动态往里插数据窗口??? 在DELPHI中如何调用NETBIOS的API函数 已知单项式 -5x的2m-n次方y的n次方与3x的五次方y的m-2n次方是同类项,求m的倒数与n的相反数的和, 方程x五次方-3x-1=0在区间(1,2)内至少有一实根. 已知多项式2x的五次方+(m+1)x的四次方+3x-(n-2)x的平方+3 ,不含x的,求2m+n的值 若单项式3x的m减2n次方乘y的9次方 与负x的6次方乘y的m加n次方是同类项,求m、n的值要清楚的式子 证明方程x的三次方加x减三等于零至少有一个正根 在多项式x的三次方-x+4-2x的三次方-2+3x的二次方+2x在多项式中x的3次方-x+4-2x的3次方-2+3x的2次方+2的x次方,( )与( ( )与( ( )与( )是同类项,合并结果是( 已知-3x的m-2n次方×y的n-2次方和1/5x^5乘y的4-n是同类项,求(m-2n)的2次方-5(m+n)-2(m-2n)^2+m+n的值 证明 方程 X的3次方 减5X的平方加2等于0在(0,1)内至少有一个实跟 2(3X的平方减2x加4)减3(2x的平方加3x减1) 化简, 已知-2x的3m+1次方乘以y的2n次方与7x的n-6乘以y的-3-m次方的积与x的四次方*y是同类项,求m+n的值 2的a次方等于三,2的b次方等于5,2c次方等于30,试用a.b表示c (2x-3)的平方-(3x-2)的平方=0 已知:-2x的3m+1次方y的2n次方与7x的n-6次方y的-3-m次方的积与x的4次方y是同类项,求m²+n的值. 3的30次方等于几? (3x-2)(2x+3)-(x-1)的平方 已知,-2x的3m+1次方y的2n次方与7x的n-6次方y的积与x的四次方y是同类项,求m,n的值 证明x五次方-3x=1至少有一个根在1 2之间 3x平方+2x-2=3 若-2x的3m+1次方y的2n次方与7x的n-6y次方y的-3-m次方的积与x的4次方是同类项,求m n的值 证明:方程 e的x次方=3x 至少有一个小于1的正根. 2X平方+6X-1=3 X平方+3X-2=? -2x的3m+1次方y的2n次方与7x的n-6次方y的-3-m次方的积与x的四次方y是同类项,求m,n的值 证明方程X的5次方-3X的三次方+1=0在去甲你(0,1)内至少偶一个根 一个整式A减去-3x+2,再加x的二次方-x-7后得5x的二次方-2x-5,求这个整式A 已知3x的平方+4x-7=0,则多项式6x的四次+11x的三次-7x的平方-3x-4的值是 分解因式x的三次方+3x的平方+3x+2 一个整式A减去—3x 2,再加x的平方—X—7后得到5x的平方—2x—5,求这个整式A. (3x的平方)的3次方-7x的3次方(x的3次方-x(4x的平方+1))=(((-1)的4次方)的m次方)的n次方= X三次方减去3X方加2加X=0RT 2x的平方+5x+2 2x的平方-5x-3 2x的平方-3x-20 2x的平方+5x-7 (3x的2次方)的3次方—7x的3次方[x的3次方—x(4x的2次方+1)]+(—x的2次方)的2次方. x的3次方减3x加2 如何因式分解 280÷4X=14解方程, 2/3x的m次方-2x的平方y-3是五次单项式,求m的值急需,越快越好,要详细的过程.拜托了 因式分解:(x^2+3x+2)(4x^2+8x+3)-90用换元法 3x的2次方加2x的3次方=? 若3x的m+5次方×y的平方与x的三次方×y的n次方是同类项,则mn的2次方-(n-1)= (3x+2)的三次方+1=-61/64解不等式组3(x-2)+4=3x+1上面还有一道呢 解方程:x的四次方+3x的平方-10=02x的四次方+9x的平方-5=0 若单项式3x的平方y的n次方与-2x的m次方y的3次方是同类项,则m+n等于多少 若a的x次方=2,则a的3x次方等于多少? x二次方-3x-1=0 解方程 若单项式3X的2次方Y的N次方与-2X的M次方Y的3次方是同类项,求M+N的2次方的值 若A的X次方=2,a的Y次方=3,则A的3X-2Y的次方等于? 解方程:x的三次方+3x的平方+3x-7=0 若3x的n-1次方y的3次方与5x的平方y的1+m次方是同类项,则m+n= -3x的三次方)的二次方-【(2x)的二次方】的三次方 已知:1-(3m-5)的平方有最大值,则方程5m-4=3x+2的解是什么是最大值?1-[(3m-5)的平方] 答案不是5/3 已知单项式M、N满足3x·(M-5x)=6x的二次方y+N,则M= N= 请问数轴穿根法解(2x-1)的平方(x+2)(4-3x)(x-7)的三次方小于等于0 已知2-(3m-5)^2有最大值,则方程5m-4=3x+2的解为? 若单项式M,N满足等式3x(M-5x)=6x的二次方y的三次方+N则M-N为___(注:6x的二次方y的三次方是6乘X的二次方,再乘y的三次方的意思) 1、(x+2)的三次方+1=8分之7等于多少?2、如果2x+19的立方根是3,求3x+4的平方根急!1、(x+2)的三次方+1=8分之7等于多少?2、如果2x+19的立方根是3,求3x+4的平方根急! 已知:1-(3m-5)的平方有最大值,则方程5m-4=3x+2的解是( ) A.7\9 B.9\7 C.-7\9 D.-9\7解题思路说一下哈! 已知单项式M,N满足等式3x(M-5x)=6x平方y3次方+n,求MN 一个代数式减去3x的四次方-x三次方+2x-1等于一个代数式减去3x的四次方-x三次方+2x-1得-5x+3x二次方-7x+2求这个代数式 一个多项式与2X的二次方-X+2的和是3X的二次方-2X+1,则这个多项式为 已知单项式M,N满足3x(M-5x)=6x的二次方y的二次方+N,则MN=?急 证明方程x的5次方-3x+1=0在1与2之间至少存在一个小于1的实根 已知关于X的二次多项式A(X的三次方-X的二次方+3X)+B(2X的平方+X)+X的三次方-5当x=2时的值为-17,求x=-2值
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn