标签:

一、项目结构

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

解释一下: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.对于区域中一些重要的方法,或者想区分一下,划定小区间的,采用星横线

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

标签:

java 项目名命名规范_javaWeb项目命名规范相关推荐

  1. java 拦截html请求参数值_javaweb项目,html文件放在了WebRoot下,如何拦截访问html的请求呀?...

    可以在web.xml启用Filter,如:<?xml version="1.0" encoding="UTF-8"?> xmlns:xsi=&quo ...

  2. nginx linux 部署web项目名,Linux部署web项目配置Nginx

    1.先配置java环境  下载   jdk-7u80-linux-x64.rpm 2.下载数据库 mysql  yum 安装 3.下载linux下的tomcat 解压 4.检测tomcat是否安装成功 ...

  3. java web部署文档_javaweb项目实施部署文档

    javaweb项目实施部署文档 一 .安装配置jdk Jdk的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.h ...

  4. java web配置dll文件_JavaWeb项目中dll文件动态加载方法解析(详细步骤)

    相信很多做Java的朋友都有过用Java调用JNI实现调用C或C++方法的经历,那么Java Web中又如何实现DLL/SO文件的动态加载方法呢.今天就给大家带来一篇JAVA Web项目中DLL/SO ...

  5. java商城项目性能调优_javaWEB项目性能调优

    在工作中难免要维护其他人做的项目.现在遇到一个情况,客户那里有 一台服务器  200G左右的硬盘,windows server 2003 32位操作系统,同时上面安装有sqlserver 2000数据 ...

  6. java解析消息头代码_javaWeb项目-文件下载的消息头和编码问题

    一.问题: 做web项目经常提到的一个需求就是页面的文件下载,那么下载的时候在后台为什么要设置响应消息头?为什么这样设置? 二.解决: 1.例子 //设置响应的消息头 response.setCont ...

  7. java项目部署方案模板_JavaWeb项目部署指南

    第一步,登录 我选了ubuntu系统,账户是ubuntu--,于是在终端里:ssh ubuntu@aa.bb.cc.dd 之后输入密码,登陆成功. 腾讯云是默认不提供root账户的,但是没有root账 ...

  8. java 接入门禁卡_javaweb项目获取大华门禁刷卡记录

    package com.dahua.module; import com.dahua.lib.NetSDKLib; import com.dahua.lib.ToolKits; import com. ...

  9. Tomcat无需输入项目名,直接用域名访问项目

    问题 在Tomcat上开发Web应用,通常是将应用放置Tomcat主目录下webapps,然后在浏览器地址栏输入域名+应用名(如http://localhost:8080/app)对应用进行访问. 为 ...

最新文章

  1. 如何用ping来测试Azure虚机网络延迟的监测工作
  2. [学习笔记]03.字符串的扩展
  3. AI:2020年6月22日北京智源大会演讲分享之认知神经基础专题论坛——13:40-14:20毕彦超教授《Knowledge representation in the Human brain》
  4. 【10.4】线程同步--Lock、RLock
  5. MySQL与会计报表_会计报表的18项必须审核的数据
  6. python数据结构 树_python数据结构之二叉树的统计与转换实例
  7. 【论文解读 arXiv 2019 | DEAN】DEAN: Learning Dual Emotion for Fake News Detection on Social Media
  8. 支付宝 手机h5支付
  9. [软件工程] 千帆竞发图的制作
  10. 中国图书分类法检索计算机方面的图书,《中国图书分类法》(简称《中图法》)是我国常用的分类法,要检索计算机方面的图书,需要在( )类目下查找。...
  11. 将unity地形转换为mesh
  12. 管道工程和这个管道铺设过程中的电缆卫士--电缆故障测试仪 电缆测距 故障定点 路径查找 电缆综合故障测试仪 FB11
  13. Ubuntu 18.4 qt5.12 安装搜狗拼音输入法
  14. 信用证的好处!只要有信用证,没有不符点,就能收到钱!
  15. SSH协议弱加密算法漏洞的利用及复现(中间人攻击)
  16. 微商城系统之商家平台任务自动分析处理系统_OctShop
  17. display: flex以及flex-direction,justify-content,align-items
  18. 笨办法学python__学习笔记
  19. 微信公众号-java上传图片素材到微信服务器基于事件推送两条消息
  20. android手机8g内存够用嘛,安卓手机8G内存和12G内存有啥区别?

热门文章

  1. SerializeField和Serializable
  2. Observer设计模式中-委托事件-应用在消息在窗体上显示
  3. mysql解压版有配置文件么_3分钟安装MySQL5.7解压版
  4. EDA实验课课程笔记(二)——Vim编辑器
  5. [转]SDN与OpenFlow技术简介
  6. mysql5.7版本的新特性_MySQL 5.7版本新特性(一)
  7. socket 编程入门教程(五)UDP原理:4、“有连接”的UDP
  8. java向上向下取整与四舍五入
  9. mysql基础知识(二)
  10. javascript类功能代码集