文章图片
>如果有人问 , 面向对象的编程语言都有哪些特点 , 我估计学过编程基础的人都应该能讲出封装、继承和多态这三个基本特性!其中 , 继承和多态可能在编程过程中可以选择不用 , 但封装这个动作 , 我们多多少少都避免不了!可是 , 如果一个人的编码习惯很差的话 , 会导致什么结果呢?
公司有个新的项目需要我去做 , 其中涉及到一个业务逻辑我不是太清楚 , 于是我们研发经理就让我去代码库拷贝一个之前的旧项目 , 那里有相关源码 。
于是 , 我从代码库里把源码给拷贝下来了 , 打开以后着实把我给吓着了!据我所知 , 这个旧项目功能其实也并不复杂 , 但是我随便打开了几个项目代码文件 , 里面的代码竟然都超过了千行!大多数文件的代码行数都在2000-8000行左右 , 而项目的主页面的代码行竟然超过了12000行!
可能是我没做过什么大型项目 , 在我将近十年的程序员生涯里 , 写过的或者接触过的单代码文件代码行数超过5000行的屈指可数 。 而如此“庞大”的代码行数 , 还是第一次见!
这个项目页面表现上看着简单 , 实在没想到代码量会如此之大 。 本着对“前辈”程序员的敬畏之心 , 我观摩了一下这个项目的几个代码行比较大的文件 , 结果让我比较意外!
原来 , 每个文件里的代码行数之所以这么多 , 是因为写这个项目的人基本上没有对任何逻辑代码进行封装 。 我甚至看到很多重复性的逻辑代码被写了N次!某处本来只要将不到百行的代码进行封装 , 就能节省将近两千多行的代码 , 但是写这块代码的程序员并没有这么做!
我稍微看了下 , 超过12000行的主页面代码如果进行重构的话 , 代码行数至少可以压缩一半!
但这个程序员写的代码不仅仅只有这些问题 , 其他问题也非常多 , 比如涉及到页面的 , 并没有使用组件编写 , 而是由一个个控件硬拼接而成 。 因为程序的界面是预编译的 , 只要打开预编译的界面 , 界面渲染都要老半天 , 更别说去编辑界面了!
最主要的问题是 , 虽然每个代码文件的代码行数都很高 , 但是几乎没有看到注释!可以说 , 这个项目是我迄今为止最不想碰到的项目 , 没有之一!
之后 , 我把我的“发现”告诉了我的研发组长 , 结果引起了他的共鸣 , 这个项目的代码是整个公司所有程序员最不想碰的代码!之前编写这个项目的是我们公司其中一个股东 , 是公司刚成立的时候他写的 , 但是他的代码似乎是公司的“传奇” , 被其他程序员津津乐道!
像这样的代码 , 不改看着难受 , 改了怕出问题 , 所以尽管公司所有人看着这份代码都很难受 , 但是都不愿意去重构!
【华为云|一个代码文件动辄成千上万行,有些程序员真的不适合干这行!】所以 , 有些人真不适合当程序员 , 这样的程序员写出来的程序 , 后面维护他代码的程序员容易掉头发!所以他是公司股东 , 我们应该值得庆幸!
- 官宣|华为官宣两个好消息:Mate50系列现货,昆仑玻璃惠及更多机型
- ARM|苹果、高通纷纷行动,ARM被“架空”,外媒:制裁华为的后果出现
- 年轻人抛弃双十一了?真相就一个字
- 革命|云视图研的5G全息远程互动智慧教室,货真价实的真5G应用
- 诺基亚t20教育版学习机的优势
- 华为|外媒:华为“去美化”获得重要筹码
- 黑科技|最贵799!华为Mate50首发黑科技老机型花钱就能用上,10倍耐摔
- 汽车|“华为狐”女总裁宣布离职!曾靠崔健罗大佑出圈,公司三年巨亏150亿!
- 华为鸿蒙系统|千元就能体验HarmonyOS?性价比最高的鸿蒙手机推荐!
- 华为watch|条件允许的话,内行人建议买手机一步到位,这3款拥有“高规格”