avatar

tetsai

原创声明

本文由tetsai原创,转载请注明来源

对于初学者,写的代码基本上是"不堪入目",啊,简直是一坨shit

为什么这么说呢,因为初学者大多只是把目标定位在"程序可以正常运行"上,而不会考虑(其实是没有能力)如何让代码美观,后期维护等等方面

这里我分享一下我个人写代码的风格

模块化

代码首先需要具有可重组的灵活性在里面,而不是代码写完,一大坨放在那里,以后想添加功能添加不了

结果想删除功能也删除不了,跟那种祖传代码一样,改一个注释都能报错(当然有点夸张了),耦合性太强,那就不好了

模块化有两种模块化方式,一种是嵌套,一种是并列

嵌套,就是尽可能写函数(或者class),而且函数参数要给全,一般来说底层函数的参数是最多的,例如

function print_information(name,age,sex){
 console.log("information debug: name="+name+",age="+age+",sex="+sex);
}

然后我们在这个底层函数的基础上,创建上层函数

function print_information_woman(name,age){
print_information(name,age,"woman");
}

这样我们调用print_information_woman()就只需要2个参数了,就这样一级一级嵌套,可以方便的向外扩展。

如果底层函数一开始就没有参数sex,而是写死了,那么这个嵌套就没办法进行了,也就是"上梁不正下梁歪"。

底层函数没写好,再怎么扩展也救不了这个函数。

那什么是并列模块化呢?

最典型的就是switch语句啦

switch(id){
 case 1:
   break;
 case 2:
   break;
 ...
 default:
   console.log("illegal operation.");
   break;
}

加一个case 相当于加一个功能,一个功能对应一个id,互不干扰互不影响,是平行并列的

这个简单就不说了。

if语句中,常量要写在前面

如果你本来要写

if(a==5)

如果你写成这样

if(a=5)

这是合法语法,编译器不会报错,但是因为值恒为5,所以if恒为真,这就出问题了

但是如果你把变量写在前面

if(5=a)

编译器就会报错,因为5是常量,不能被赋值,你就能发现问题

保证代码好看

代码没注释,代码没缩进,逻辑混乱或者乱用goto的,基本上就是丑代码

久而久之你自己都看不懂这是个什么玩意,这种代码是没有灵魂的

因为命中注定它不可能被**使用,更不可能被项目采纳(要是采纳了这个项目离废弃也不远了。)

发表评论

电子邮件地址不会被公开。 必填项已用*标注