没有规矩不成方圆,一个优秀的代码架构不仅易于开发和维护,而且是一门管理与执行的艺术。

这几年来经历了很多项目,对代码之间的强耦合及书写不规范,维护性差等问题深恶痛绝。在这里,通过仔细分析后,结合自己的编码习惯总结了一套适用于javaweb项目的前端书写规范,与大家分享一下。

ps:感谢阿海的创意,后期整理如下(附文件下载):

一、项目结构

这里和其他项目区别不大,我将模板抽离出来,更容易分析和理解:

解释一下:js主要包括extends(引入第三方的js)、module(项目模块自己的js)、lib(引用包,这里也可以继续拆分),module中包含具体的模块中的js。common.js是核心命名空间的js.

二、common.js

解释一下,Globals作为全局命名空间,各个模块均可以在此命名空间里定义域(如果有不明白的可以自学下命名空间,这个文件写死就行,也不用具体理解)。

三、task.js

这个文件是模块中我的项目中任务模块的js(例子),模块级别的js一般是将页面中相对独立重要的方法抽离出来的方法,不建议所有页面js都拿进来。

解释一下:模块级别的js 主要包括自己的私有属性和方法,及对外暴露的js属性和方法。这里我们默认凡是内部私有的前面都加“_”,最后决定哪些方法和属性暴露出来,是通过构造方法constructor来对外暴露。

四、页面index.jsp

现在看一下jsp中如何对页面js和模块js是怎么引用的吧,见证解耦和的时候到了。

解释一下:页面需要将common.js与task.js引入,然后初始化,这样就可以访问task模块中对外暴露的方法和属性了。

页面js建议所有的变量发在一个变量组中,这样便于维护。

页面中控件的onclick等方法建议在js中统一绑定。

总结:通过上面的配置,最大的好处是对于项目中频繁引入js文件,消除了之间的耦合性,而且对于不同模块间的同名方法和属性也不会互相影响,当然最主要的便于持续的开发和维护,同时也是艺术上的享受。

本文采用了我习惯的注释风格,当然可以因人而异,我的原则是:

1.模块介绍代码主要关注:模块描述,负责人,相关备注,采用双星注释

/**

*

*/

2.对于模块下,大区域的划分,习惯采用双横线注释:

//==================================================

//描述:

3.对于区域中,方法注释,通过以往的经验,不是每个人都愿意详细去写的,所以我认为简单明了最好,采用普通注释:

//代码描述

//作者备注等信息(不限)

4.对于区域中一些重要的方法,或者想区分一下,划定小区间的,采用星横线

/****************************描述*****************************/

原链接:http://blog.csdn.net/hongshan50/article/details/21538639

转载于:https://www.cnblogs.com/panie2015/p/5590562.html

JavaWeb项目前端规范(采用命名空间使js深度解耦合)相关推荐

  1. spring jaxb_自定义Spring命名空间使JAXB变得更容易

    spring jaxb 首先,让我大声说一下: Spring不再是XML繁重的了 . 实际上,如今,您可以使用大量注释, Java配置和Spring Boot来编写几乎没有XML或根本没有XML的Sp ...

  2. 自定义Spring命名空间使JAXB更容易

    首先,让我大声说出来: Spring不再是XML繁重的了 . 事实上,如今,您可以使用大量注释, Java配置和Spring Boot来编写几乎没有XML或根本没有XML的Spring应用程序. 认真 ...

  3. 项目开发规范--前端

    通用规范 基本原则: 编译器统一设置编码为UTF-8:换行符为LF. 源文件编码格式(包括注释)必须是 UTF-8 命名必须使用英文单词,不可出现拼音 命名缩写,行业约定俗称的缩写可以直接使用 命名缩 ...

  4. 基于 React 项目前端团队推行代码规范及代码质量,真香(姐妹篇)

    前言 大家好,我是虚竹. 2022年是我们的一次重大技术栈转型(尝试.试错.挑战.精进),发动组员学习React新技术,前端小组采用主流的前端框架基于React.React Native系列生态支撑公 ...

  5. Java软件项目开发命名规范_命名规则

    文章目录 一.项目命名/包命名/虚拟目录/资源路径 二.Java 代码命名 三.属性文件 properties 命名 四.xml文件命名 五.jsp文件命名 六.html文件命名 七.js文件命名 八 ...

  6. 前端规范 - 前端项目开发规范

    0 前言 好好做业务,提高自己的工程能力 [强制] 1 开启eslint 根据团队的习惯,制定适合自己的rules 比如 no-console no-debugger可以关闭 [强制] 2 新项目使用 ...

  7. web前端开发文件命名基本规范

    根据:https://www.cnblogs.com/ypppt/p/13066751.html 1.页面的文件.函数命名规范 统一用翻译的英文命名(推荐),统一用拼音命名(拼音的简化也可) 统一使用 ...

  8. 前端git操作命名规范和协作开发流程

    前言 一个项目的分支,一般包括主干 master 和 开发分支 dev,以及若干临时分支 分支命名规范 分支: 命名: 说明:主分支 master 主分支,所有提供给用户使用的正式版本,都在这个主分支 ...

  9. Web前端开发规范 : 文件命名规则

    转自 : https://blog.csdn.net/qq_26129689/article/details/52652000?ref=myread 1.文件命名规则 1.1文件名称的命名规则 统一用 ...

最新文章

  1. 跟阿里云技术专家阙寒一起深度了解视频直播CDN技术
  2. python是脚本语言不需要编译器编译执行_都有Python了,还要什么编译器!
  3. 百度:请叫我卡车新势力
  4. Linux要学git吗,git学习一 基于linux ubuntu git安装与配置
  5. 我的《机器学习》课程的课件合集下载
  6. Android反翻译详解
  7. lstm网络_LSTM(长短期记忆网络)
  8. cogs 167. [USACO Mar07] 月度花费
  9. JAVA→JDBCJava DataBase Connectivity、存储过程Stored Procedure、事务Transaction、连接池DBCP C3P0、JDBC升级替代框架
  10. Mysql索引失效的几种情况总结
  11. java实现蒲丰投针求,用程序模拟蒲丰投针试验
  12. C语言基础练习-输入球体半径,计算球体表面积和体积
  13. 信道检测手机软件 ios_【安卓+iOS】卧龙影视,老牌观影神器上架苹果TF版,支持双端,限时下载!...
  14. 网络安全学习路线-超详细
  15. (攻防世界)(pwn)forgot
  16. layui表单离焦验证
  17. php word 邮件合并发送邮件,在word2010中的邮件合并,除需要主文档,还需要什么...
  18. qt自定义类访问ui控件
  19. 双电阻差分电流采样_合金采样电阻的特点及作用
  20. 【问题解决】ESP32开发板上的CP210xUSB转串口坏了怎么办

热门文章

  1. php中的thumb函数,phpcms v9 thumb(缩略图) 函数说明
  2. vue 固定div 滚动_vue.js-div滚动条隐藏但有滚动效果的实现方法
  3. android项目编码规范,Android 项目规范
  4. java mysql 语句解析器_几种基于Java的SQL解析工具的比较与调用
  5. 设置和清除LD_LIBRARY_PATH
  6. 操作系统上机作业--实现mysys(多进程)
  7. .php y=mp4,PHP输出MP4视频流函数
  8. Opencv实现利用滑动条来调整阈值
  9. AMUL的完整形式是什么?
  10. c++ cdi+示例_C ++'not'关键字和示例