专栏首页物流IT圈我在编程20年中学到的5件事 - DaedTech

我在编程20年中学到的5件事 - DaedTech

在过去的4-5年中,对程序员的需求增长如此之快,以至于程序员的数量总是每五年翻一番。结果,拥有5年经验的程序员所拥有的行业任职时间比整个行业的一半还多。 我现在在这个行业中已经推进了20年。我花了大约10个角色担任我的主要职能是编写代码。其他10个项目涉及管理程序员,指导他们,就如何管理它们向组织提供咨询,运行代码库评估实践以及如今的内容营销。但是在所有这些角色中,我都不同程度地编写了代码。以下是我认为是20年编程生涯中最重要的教训和收获。 1. 重复是最糟糕的 “避免复制粘贴编程!”,这是可怕而草率的做法。 想象一下,您有一个可以完美使用的CalculateBill()方法,但是产品经理徘徊并说:“我们在墨西哥招募了新客户,您在那儿计算的帐单有所不同。”因此,您复制当前方法,将其粘贴,将其重命名为CalculateBillMexico()并根据需要进行调整。 下面是这种方法的问题: 1.如果将来的更改需要调整核心逻辑,那么您现在必须做更多的工作并修改2种方法。 2.现在,您有2次机会在此类更改期间引入错误。 3.现在,您已经建立了一个“设计模式”,并且随着全球扩张的继续,您的代码正在乞求一种新的冗余方法。 4.随着工作的进行,您的劳动量将急剧增加。 5.通过忘记在任何需要的地方进行更改来引入错误只是时间问题。 6.最终,所有这些方法都将有足够的不同,以致您无法再将它们合理地合并回去并解决问题,但相差无几,您可以避免每次有人更新计费规则时进行20次更改。 系统中的知识重复可以多种方式发生,而简单的复制粘贴只是最明显和最晦涩的。还有重复知识的其他示例: 1.一个for循环和一个代码注释就在其上方,解释了开始,结束和增量。 2.全局变量向内联分配了一个值,然后(也许)从配置文件中重新分配了一个值。 3.具有“ PretaxTotal”,“ Tax”和“ Total”列的数据库表 4.范围广泛的ERP系统,将客户存储在CRM模块中,然后再存储在计费模块中。 最好的情况就是您已经有了适当的流程和系统来认真地跟踪重复并确保同时更新。 当您开始构建复杂的逻辑(然后必须进行维护-请参阅下一节)以确保同步时,会发生更糟的情况。 2.代码是责任 少即是多,实际上,我已经担任了多年非常专业的管理顾问。我进行数据驱动的代码库评估,并帮助IT领导者制定有关代码库的战略决策。因此,我可以查看,分析和收集大量代码库的统计信息。 关于代码库的几乎所有不良之处都与代码库的大小有着显着的关系,以逻辑代码行来衡量。 我喜欢编写,研究,分析和使用它来构建事物。但是请不要误会-这是一个巨大的责任。始终努力使用尽可能少的代码来完成所有工作。 3. 高级开发人员:信任但要验证 我的意思是警告您,有多少高级开发人员表面上看起来很牛,但实际上并非如此。 因此,当您是新手时,请给前辈带来疑问的好处并顺应他们,但不要仅仅假设他们告诉您的是对还是对。自行验证(最好不要在它们前面)。 4. TDD是有效的,但是带来维护成本 大约10年前,我对TDD持怀疑态度。我决定写一篇关于TDD为什么不是那么出色的博客文章。 5.证据为王 代码审查或团队或组织内的任何其他形式的协作过程中,如果您想就任何事情向管理层或领导层提出任何理由,证据就是您的朋友。 证据将赢得您的论点,尊重,领导角色和职业发展。 我的意思是在代码库中查找有无全局状态的模块,并对照JIRA故障单或其他事件的发生率交叉引用这些模块。

本文分享自微信公众号 - 物流IT圈(exiter18)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 史上最强大IDEA编程插件:编程效率提升N倍

    平时写代码的时候多少会依赖编辑器里面的代码补全,敲几个字母就能补全一整个词。可是这么多年过去了,为什么代码补全还是像最开始那样,只能限定于一个词,而且毫无意义地...

    物流IT圈
  • 传统企业微服务落地大法(1)-不够痛就别微服务

    在多家传统行业的企业走访和落地了微服务之后,发现落地微服务是一个非常复杂的问题,甚至都不完全是技术问题。

    物流IT圈
  • 写给供应链产品经理:浅谈订单系统的设计

    订单管理是一个常见的管理问题,包含在企业的订单处理流程中。由于客户/用户下订单的方式多种多样、订单执行路径千变万化、产品和服务不断变化、发票开具难以协调,这些情...

    物流IT圈
  • 优秀程序员是如何处理糟糕代码的

    优秀程序员是如何处理糟糕代码的 可能你一行不好的代码也从来没有写过。这是有可能的,但在现实中又不太可能。 现实情况是,和这个星球上的其他所有程序员一样,你会产出...

    用户1289394
  • 编程与写作

    王小波广为人知的身份是作家,而他在写小说之前是一个相当优秀的程序员。他应该是程序员中最会写作,作家中最懂编程的人。

    章鱼喵
  • [读书笔记]C#学习笔记一: .Net Framwork

    一枝花算不算浪漫
  • 一次代码评审,差点过不了试用期!

    代码是给机器运行的,但同样也是给人看的,并且随着上线还需要由人来运维。那么写出可扩展、易维护、好读懂的代码就显得非常重要。

    小傅哥
  • 写了 100 万行代码的程序员身上发生了什么故事

    看完之后就头皮一阵发麻,让我写一万行的代码?!are you kidding me?(黑人问号脸)我估计写到20万的时候就会突然有个疑问—-“咦?我的头发呢?”

    哲洛不闹
  • 改掉这14种习惯,初级程序员分分钟进阶高级程序员

    很多人也会有这种疑惑,尤其是入行好几年了还是个底层人员的小伙伴,今天就告诉你,你如何晋级为高级程序员。同时也反思下自己还有哪些不足。

    学神IT
  • 人工智能在软件开发领域应用现状

    江湖上一直流传着这样的传闻:“程序员们很快就要失业了,因为人工智能马上就能写出完美的代码了”。人工智能是以软件形式存在的,编写了这些强大软件的码农们,如果被自己...

    yuanyi928

扫码关注云+社区

领取腾讯云代金券