当前位置: 首页 > 科技观察

最让程序员烦恼的10件事

时间:2023-03-18 11:52:38 科技观察

10.评论解释“什么”,而不是“为什么”入门编程课程教导学生经常和及早发表评论。不可否认,这种方法在学习编程的初级阶段确实是相当有效的(哪怕是看到最简单的几行代码也如书本一般)。然而,即使很多程序员已经从菜鸟成长为计算机专家,他们仍然延续着这个习惯。r=n/2;//将r设置为n除以2//循环whiler–(n/r)大于twhile(abs(r–(n/r))>t){r=0.5*(r+(n/r));  //设置r为r的一半+(n/r)}你明白上面代码的意思了吗?四个字:云里雾里。上面的问题在于,虽然注释很多,但是并没有解释为什么要写这些代码。接下来,将上面相同的代码换成另外一条注释,效果就会大不一样了。//n的平方根与牛顿-拉夫森近似  r=n/2;while(abs(r–(n/r))>t){r=0.5*(r+(n/r));}是不是好多了!虽然我们还不能完全理解这段代码的含义,但至少我们已经简化了代码,并且更加简洁了。编写注释是为了帮助读者理解代码。这假设任何阅读代码的人都已经对for循环的工作原理有了基本的了解。他们可能不清楚的是你的代码是如何工作的,或者你为什么选择这条路来实现它。9、各种中断大多数情况下,程序员的头脑更像是一辆火车而不是法拉利,需要慢慢启动,也就是说我们要酝酿一段时间才能进入状态。但是一旦全身心投入其中,我们就会高效地完成大量令人钦佩的代码。只是不幸的是,这是一个难以到达的地方,因为我们的思路不断被客户和同事打断。8.范围蔓延维基百科将范围蔓延定义为“项目范围内不受控制的变更”。范围蔓延可以将相对简单的请求变成极其复杂且耗时的任务。就是利用一些看似方便又无伤大雅的要求,一步步潜入破坏项目进度:版本1:地图显示你所在位置版本2:3D地图显示你所在位置版本3:3D地图显示你所在位置可以用作飞行导航7.管理层不会编程。当然,也会有例外。这一点的标题只是个人经验。如有雷同,纯属巧合。首先,我们不得不承认,管理并不是一件轻松的工作。下属会恨你:他们脆弱的心有时会受伤。将一大群人聚集在一起并保持凝聚力几乎是一项艰巨的任务。然而,仅仅因为任务艰巨并不意味着管理者不能对下属有一个基本的了解。当管理层未能把握工作理念时,会导致员工范围蔓延、逾期、沮丧等。这是很多程序员在日常工作中经常抱怨和焦虑的根本原因。6.编写文档是的,文档生成工具确实有很多,但我的经验告诉我,这些工具只适合生成API文档,供其他程序员参考。如果您正在开发许多人在日常生活中使用的软件,您最好编写即使是外行也能理解的文档(例如,应用程序如何工作、故障排除指南等)。好吧,有些程序员不喜欢这样做。人们经常做的是,快速浏览一个开源项目,然后开始搜索文档以寻求帮助。我可以保证,无论在什么地方,几乎所有的程序员,当被要求写文档时,都会说:“别人写不出来吗?”5.缺乏文档的程序好吧,我从来没有说过我们程序员是说一套做一套的人。程序员经常需要在他们的项目中使用第三方库和应用程序。这使我们需要文档。但正如我上面所说,程序员讨厌写文档。这是何等的矛盾与纠葛!当我们需要使用第三方库并且不知道至少一半的API是干什么用的时候,没有什么比这更令人沮丧的了。你知道poorlyNamedFunctionA()和poorlyButSimilarlyNamedFunctionB()的区别吗?访问PropertyX需要先做null测试吗?如果缺少文档,我想我必须自己进行测试和错误报告才能知道结果,天哪!4.硬件(总是被误解为电脑维修)任何程序员被叫去调试数据库服务器上的奇怪崩溃,或者修复一个不能正常工作的RAID驱动器,结果发现是硬件原因,orz会很痛苦。换句话说,我不知道误会是从哪里来的。人们会认为像程序员这样整天摆弄电脑的人肯定会修电脑。好吧,一些程序员确实知道如何去做(可能是他们在大学时和她们的女孩一起练习的技能?),但我敢向你保证,大多数程序员不知道,或者对程序是如何编译成的有很好的理解机器代码。工作不在乎。我们关心什么?我们关心的是我们所做的是否符合要求,以便我们可以专注于解决更高层次的任务。3、含糊不清“哦,我的网站有问题”,“XX不能正常运行”,这种模棱两可的要求最让人痛苦。当我们要求非程序员重现问题时,他们会如此愤怒,这让我感到特别惊讶。难道他们不知道我们光说“电脑坏了,快修”是没法上班的,还需要更多的信息。在大多数情况下,软件的运行是可追溯的。我们也喜欢这样。请包容我们,帮助我们找出问题出在哪里,而不是简单地说“修复”。2.与其他程序员相处程序员往往与其他程序员相处不融洽。不要假装惊讶,心里承认吧,亲爱的程序员们。我可以随便列举十个这样的例子,我什至可以单独写一篇博客,所以在这篇文章中我只会列出一些与同事相处不好的常见原因:脾气暴躁,态度不好友善。不知道什么时候讨论系统的架构,什么时候开始工作。无法有效沟通,使用误导性行话。自己的事情自己处理不好。对代码库和项目缺乏兴趣。这还不是最惨的,后面还有一个重量级的“程序员杀手”——No.1……1.6个月后看我的代码别打喷嚏,我发现了一个bug。你是否曾经回头看自己之前写的代码,忍不住捶胸顿足?气不气你当年怎么这么白痴,写的这么垃圾!删除,删除,全部删除!好吧,你可以庆幸这不是发生在你身上。我们的编程世界在不断变化。今天可能是最好的技术明天可能就过时了。我们永远不可能写出完美的代码,因为评价标准是随着时代的进步而不断提高的。不管我们写的代码现在看起来多么完美,在不久的将来很可能成为嘲笑的对象。这确实令人沮丧,因为无论我们如何努力学习最新最好的开发工具、设计、框架和开发方法,我们总是落后于最新的技术发展趋势一步。对我来说,这是作为一个程序员最郁闷的事情,没有之一,所以我把这个列为No.1。我们能做的就是不断更新自己的技术,但是有时候,我觉得自己是个沙雕,一直推重做,哈哈。原文链接:http://news.html5tricks.com/top-10-things-annoy-programmer.html