
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
程序员的编程世界中,存在着一些“新”和“旧”。新是新工具,旧是旧的技术、旧的传统、旧的衡量方式——这些都会影响编程效率。
编程效率障碍No.1:试图衡量生产力
总会有管理团队受那些所谓“你不能管理你无法衡量的东西”的书籍启发,于是开始衡量提交的或代码库或软件代码行或bug修复。他们认为,计数就是衡量,而且衡量一定是好事。
但是达内长沙IT培训要说的是,程序员并不是砌砖工,不能数数砌了多少砖就知道其效率。相反,为了写出更好的代码,程序员需要或专注于编写的代码行,或解决bug,或提交到代码仓库,或做一些无法计数的事情。如果bug修复可以加分,那么一些微小bug的报告就会激增,bug修复也会如此。有人因为报告bug得到了奖励,然后另一个人因为修复它也能得到奖励。或者,如果是计数代码行数,那么那些可以用10行代码解决问题的程序员,可能就会转而表示5000行的代码将更灵活或功能更兼容——任何可以添加到5000行中的都加进去。
衡量效率实际上会因为鼓励功能丰富,代码过度设计的长文件,而让代码库变得更糟。
对于此问题还没有真正的解决方法。我们需要跟踪bug。我们需要组织工作流程,协调软件的创建。这种优雅是无法衡量的。
编程效率障碍No.2:死守传统技术
很多捍卫者认为古老的技术依然很伟大,依然能够完成任务。因此对于为什么要重写代码表示疑虑重重。
他们想得没错,但他们忘记了保持这些古老代码的成本。所有一切通常都需要用自定义代码进行翻译。某些代码甚至写在ASCII之前,这意味着需要转换输入和输出。旧系统经常会计数空格字符只是为了在数据库中指出这是什么。这就更加需要转换了。
当然程序员可以通过屏幕抓取,重新格式化,临时构建系统来做大量的工作,但一段时间以后,他们往往需要花费更多的工作来清理混沌的逻辑,以致于腾不出时间来写新的逻辑。
编程效率障碍No.3:对最新的渴望
最新的工具自然有意思,但却在没有经过大量时间再次编码以往的工作之前,是不会被开发工作室采用的。走在时代尖端的人总是会扔掉API的整个部分,并重新编写,从而迫使我们这些下游的程序员不得不跟着一起改写代码。达内长沙IT培训相信很多人都厌烦过,当我不得尽力用Python 2.7的代码对付Python 3.0的代码时,因为依现在的情况,Python已经是一种相对稳定的代码库。
在许多情况下,新的工具并没有战斗化。例如,Node.js,虽然说相当快,但是只有当你重新学习所有关于死锁的经验教训之后,知道线程优先的时候才能发挥作用。世上没有免费的午餐,工具虽好但都是有代价的。