分类 标签 存档 My solo blog My pipe MyGithubPage 订阅 搜索

谈谈 “烂代码”

0 浏览0 评论

谈谈“烂代码”

什么样的代码是烂代码?

我个人根据自己的经历总结一下烂代码的几个特征:

  • 不复用、封装
    相同的逻辑只会复制粘贴
  • 不模块化
    没有清晰的模块划分,模块与模块的耦合也没有概念
    下面举几个亲身实例:

在前端的发展中,组件化是一个十分重要的概念,各大框架也都给出了自己的实现。

这里以Vue为例,我曾经见过“高人”,这么写:
15552533701.jpg
这样写的意思就是讲所有组件的样式都统一放在assets文件夹下然后在组件里逐个去引入。我觉得这样的方式简直糟糕透了。

  1. 这样的方式完全违背了组件内聚的思想。
  2. 在需要修改的时候还得再进入assets文件夹下去找对应的样式文件进行修改
    我也能理解样式代码过多需要单独抽离成为一个文件,但是也应该是跟组件的dom在同一个目录下,如果脚本部分的代码也很多,正好也抽离出来,三个文件放在一个目录下,这样才是更为“内聚”的做法

面对对象是一个很普及的概念

这里以Java为例,在Java里,如果两个类有相同逻辑的方法时,应该怎么办?
做法一:复制粘贴相同的逻辑

Class A {
	void eat(){
		System.out.println('eating...');
	}
}
Class B {
	void eat(){
		System.out.println('eating...');
	}
}

这么写,如果有需求改动,比如把eating换成eated,这样就得分别到两个类中进行修改,更加合理的做法应该是,让两个类继承自一个父类,就可以复用这个eat()方法了

Class Parent{
	void(){
		System.out.println('eating...');
	}
}
Class A extends Parent{}
Class B extends Parent {
}

但是现实中我遇到很多的程序员都是复制粘贴第一种方式
当然这里得声明,我的代码写的也不一定就好,但是我觉得上面的两个例子真的让我很不能理解。

评论  
留下你的脚步
推荐阅读