代码和人,有一个能跑就行。为啥程序员总写dirty code

在程序员行业有一句:“代码和人,有一个能跑就行”。这句话对吗?为什么会产生这个问题?

哪些代码能跑就行?

有一些代码,真的就是不能动,一动就崩。里面逻辑复杂, 代码冗余,具备了一些不良代码的特征,但是它就是能跑,就是能支撑业务。有一个通俗的称谓为“屎山代码”。

哪些是dirty code

  • 缺乏注释和文档:完全没有注释或者复杂逻辑无文档
  • 命名不规范:变量、函数和类的命名不符合约定或没有约定 例如a,b,c,变量用动词,方法用名词,驼峰下划线混用等
  • 代码重复:同样的代码逻辑在多个地方重复出现,增加了维护的难度。 代码不做抽象,公共方法复制拷贝,一个方法复制多份
  • 复杂的逻辑:代码逻辑过于复杂,缺乏清晰的结构和模块化设计。
  • 硬编码值:使用硬编码的数值或字符串,而不是使用常量或配置文件

dirty code是如何产生的?

时间压力

项目不给足够时间,倒排期工程,项目经理整天催催催,老板天天问进度。预计5天,报了6天,砍到3天,1天的时候问做到哪了,2天问怎么还没做完。 你让我抽象,你让我搞架构,但是不给我时间,写出来的代码优先要进测试,提了bug再改改呗,反正缝缝补补又3年。

过于自信

自认自己的代码足够牛b。

不需要注释就可以看懂,不就是几个变量名吗?别人理一理逻辑就可以了,我的代码自己可以解释自己。 不需要抽象,这里都是一整套逻辑的。什么?你也要用这套代码,自己复制出去,别动我代码。我们要签订《代码互不侵犯条约》。

经验不足

新手小白能完成任务就不错了,什么鲁棒,什么设计模式,完全不需要考虑。一个函数500行?抱歉那是这个功能的瓶颈,不是我的瓶颈。

企业文化,标准/规范缺乏

你还记得你上一次做code review是啥时候吗?在夜深人静的时候,有没有回想每天996为啥老板还没开上大奔?

老板要的是结果,不是过程,代码写的再好,最后业务不核心,不干掉你干掉谁?

防御型编程

这个不多说了,懂的都懂。

#牛友故事会#
全部评论
我就懒得怕写注释,没其他原因,就是懒
点赞 回复 分享
发布于 今天 21:13 陕西

相关推荐

昨天 16:36
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务