JS代码超过1000行,该怎么维护?

1000行JS代码,听起来挺多的,但实际上真不算什么,随便一个功能完备、代码健壮的JS应用或是模块,很轻松的就写出1000多行,看这里,我以前写的一个tabel插件,带有CRUD功能、展开、加载、上传、预览功能的东西,当时为了赶时间没怎么细写,只是实现了功能,就达到700多行,

所以,现代的大型web应用,1000行以上的JS代码我觉得就是“起步价”而已。那么这种大型应用的开发,我们必须对JS的可维护性有一个清醒的认识。

不要觉得,“我写的代码,我还维护不了么”?很有可能。你写的代码,当它的逻辑性和复杂度达到一定程度的时候,我敢保证,“正因为你了解它,所以你未必敢动它。”

现在前端开发很少有完全从零开始写起的,都是拿一些框架、库、脚手架做为起点,然后进行自己的针对性的开发。都是在他人的成果之上进行工作,所以你要保证你的代码也是可维护的,松耦合的,不要把自己写的代码搞成一个在坑,然后让别人往里跳。

那么可维护性的代码,有啥特点?

变量名、类名、方法名,就是它的功能的说明。再加上一些注释,别人一看就知道你这东西是干嘛的。不要起什么idxx1,idxx2...idxxn之类的名字,而且我个人觉得吧,js起名不要怕名字长,长有什么关系,不重复能看明白就是好名字。

要么就是直观一些,别绕来绕去的。甚至我觉得如果可以用if else,那么别用三元判断。js代码我个人主观觉得,啰嗦一点会更好些。

然后对于数据的加载和使用,要有一定的适应性,不要搞的json的结构一变,你的js整个不能运行。自己封装一个分析json的公共方法。

至于什么可扩展啊,可调试那都应该是标配。

新人写js有一个特点,就是一心想着“我赶紧写出来”。就好像在学校上课一样,赶紧完成老师的作业。其它的就不管了,什么格式啊,缩进啊,都不管。但是良好的代码风格本身就是js可维护性的一个组成部分。

变量和函数的命名,到底用什么方式?是拼音?还是序号?还是怎么样,至少得有个章程。一般来讲变量名用名字,名称嘛;然后函数名用动词,函数是做事的呀。不必担心什么变量名太长会增加体积,现在js都是被压缩过的。

还有一个方面就是声明变量时的变量类型。同学们应该都知道,js中的变量声明是没有类型的。搞一个变量出来,什么都可以往里放。如果想在声明变量的时候,用一些方法对变量的类型进行标记,有二个方法比较有效,

(此截图来自segmentfault-Kraaas,这里表示感谢)

至少在格式、命名、声明变量 & 方法,这几个方面做到一致,那么这个js代码才能算是具有了基本的可维护性。

还有一点,如果上面我写的这些你在面试的时候能说出来,应该会有加分的啊。

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2017-08-21

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP在线

设计模式分类

Introduction 根据目的和范围,设计模式可以分为五类。按照目的分为:创建设计模式,结构设计模式,以及行为设计模式。按照范围分为:类的设计模式,以及对象...

3316
来自专栏java学习

java每日一练(2017/8/20)

最新通知 ●回复"每日一练"获取以前的题目! ●【新】Android视频更新了!(回复【安卓视频】获取下载链接) ●【新】Ajax知识点视频更新了!(回复【学习...

2956
来自专栏C/C++基础

C++类的设计与实现规范

规范是一种规定,遵守这种规定能够带来长远的利益,而违反这种规定却不会立即收到惩罚。程序设计的规范是人们在长期的编程时间中总结出来的,深入理解中这些规范需要认真的...

852
来自专栏chafezhou

Python 工匠:使用数字与字符串的技巧

数字是几乎所有编程语言里最基本的数据类型,它是我们通过代码连接现实世界的基础。在 Python 里有三种数值类型:整型(int)、浮点型(float)和复数(c...

831
来自专栏java学习

Java每日一题_关于变量的使用

答:在【类里面】声明的变量叫全局变量,全局变量也叫成员变量,全局变量,在全局作用域下申明的变量没有被手动赋值的却在程序中被使用的情况下,将被赋予初值:

873
来自专栏编程坑太多

java最困扰你的那些事?又将如何解决?

1065
来自专栏Phoenix的Android之旅

这是你在苦苦找寻的资料吗

趁着Java10发布的时候,小编将整理的有用的学习资料分享给大家,希望能有帮助。 下面说说刚发布的Java10.

802
来自专栏Java爬坑系列

【Java入门提高篇】Day2 接口

  上一篇讲完了抽象类,这一篇主要讲解比抽象类更加抽象的内容——接口。   什么是接口呢?先来看一个现实中的栗子,我们常用的插座,一般分为两孔和三孔,所以基本上...

1908
来自专栏逆向技术

C语言_第一讲_C语言入门

一、C语言的简介 1.C语言是一个标准,而执行标准的时候产生的自动化程序则是编译器 2.了解:1983年美国国家标准化歇会(ANSI)制定了C语言标准. C语言...

3060
来自专栏tkokof 的技术,小趣及杂念

Sweet Snippet系列之 Print Lua Table

Lua中唯一的内建数据结构就是关联数组(table),平时我们使用Lua时自然也一直在和table打交道,由于Lua中table的灵活性,使其拥有了强大的数据表...

751

扫码关注云+社区

领取腾讯云代金券