EDP项目结构规范心得
本文结合最近心得,希望对项目结构方面知识进行归纳,包括两部分
一、目录结构的说明
二、目录结构标准规范(以百度efe团队为例)
下面切入正题:
一、项目目录结构说明:


项目结构具体说明:
1.src目录:
src目录用于存放开发时源文件,发布时 必须(MUST) 被删除。包括字体font,js,less等。

2.public目录:
可以作为根目录,所谓根目录是指最上一级的目录,比如一个目录对应的是 www.example.com/,例如:本篇博客中,我们要以public目录为根目录;
在www.example.com/controller/action,项目中很多的静态资源在public下面,也就是:www.example.com/img/a.jpg(等同于在在项目的路径为:
public/img/a.jpg,那么自然:
根目录对等的本地项目路径为:www.example.com/=C:\users\个人信息\桌面\软件项目\Intellij\home\public
www.example.com/img/a.jpg=C:\users\个人信息\桌面\软件项目\Intellij\home\public\img\a.jpg
3.test目录
test目录用于存放测试用例以及开发阶段的模拟数据。该目录在发布时 必须(MUST) 被删除。

4.views目录:存放模板动态页面的URL规则 ,里面常常放置tpl文件。如图:

5.asset目录:用于存放用于线上访问的静态资源。

6.common目录为业务公共目录,用于存放业务项目的业务公共文件。
总结:develop和src用于开发,编译的时候会被替换成public,asset在你访问的时候,会改名为src。
二、项目结构标准规范
1.资源分类
分成两大类
源代码资源:指开发者编写的源代码,包括js、html、css、template等。
内容资源:指希望做为内容提供给访问者的资源,包括图片、字体、flash、pdf等。
2.目录命名原则
简洁。有习惯性缩写的单词 必须(MUST) 采用容易理解的缩写。如:源代码目录使用src,不使用source。下面是更多例子:
img: 图片。 不允许(MUST NOT) 使用image、images、imgs等。
js: javascript脚本。 不允许(MUST NOT) 使用script、scripts等。
css: 样式表。 不允许(MUST NOT) 使用style、styles等。
swf: flash。 不允许(MUST NOT) 使用flash等。
src: 源文件目录。 不允许(MUST NOT) 使用source等。
dep: 引入的第三方依赖包目录。 不允许(MUST NOT) 使用lib、library、dependency等。
不允许(MUST NOT) 使用复数形式。如:imgs、docs是不被允许的。
EDP项目结构规范心得的更多相关文章
- Java开发学习心得(三):项目结构
[TOC] 3 项目结构 经过前面一系列学习,差不多对Java的开发过程有了一定的了解,为了能保持一个良好的项目结构,考虑到接下来要进行开发,还需要学习一下Java的项目结构 下面以两个项目结构为参照 ...
- python基础-软件目录结构规范
一.定义目录结构目的 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 可维护性高: 定义好组织规则 ...
- Java Web 项目目录规范
一.项目结构 这里和其他项目区别不大,我将模板抽离出来,更容易分析和理解: 解释一下:js主要包括extends(引入第三方的js).module(项目模块自己的js).lib(引用包,这里也可以继续 ...
- python基础之迭代器、装饰器、软件开发目录结构规范
生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大 ...
- JavaWeb项目前端规范(采用命名空间使js深度解耦合)
没有规矩不成方圆,一个优秀的代码架构不仅易于开发和维护,而且是一门管理与执行的艺术. 这几年来经历了很多项目,对代码之间的强耦合及书写不规范,维护性差等问题深恶痛绝.在这里,通过仔细分析后,结合自己的 ...
- iOS新建项目文件管理规范
当我们进入到新的公司的第一天,看到以前老员工编写的代码,找个东西累死人咧,那个抓耳挠腮的啊,一般情况下都有想揍人的赶脚. 哈哈,不忙,先想一下自己的代码!想一下自己写的代码怎么才能新来的人一眼就能看懂 ...
- C#项目代码规范
C#项目代码规范 前言 小菜就是小菜,几个人搞出来的项目,让公司大牛稍微看了下,最后送出了惨不忍睹四个字.命名各种各样,五花八门,大写英文.小写英文.大写拼音.小写拼音.英文和拼音组合.字母和特殊 ...
- 开源项目live555学习心得
推荐:伊朗美女找丈夫比找工作难女人婚前一定要看清三件事 × 登录注册 疯狂少男-IT技术的博客 http://blog.sina.com.cn/crazyboyzhaolei [订阅][手机订 ...
- (三) Angular2项目框架搭建心得
前言: 在哪看到过angular程序员被React程序员鄙视,略显尴尬,确实Angular挺值得被调侃的,在1.*版本存在的几个性能问题,性能优化的"潜规则"贼多,以及从1.*到2 ...
随机推荐
- 网站下载器WebZip、Httrack及AWWWB.COM网站克隆器
动机 闲扯节点,可略读. 下载并试用这些软件并非是为了一己之私,模仿他人网站以图利.鉴于国内网络环境之艰苦,我等屌丝级半罐水程序员,纵有百度如诸葛大神万般协力相助,也似后主般无能不能解决工作和娱乐中 ...
- [OpenGL]点阵显示生日快乐小程序
刚工作没多久的时候,业余学习了OGL的知识(这是写不好的借口吧), 在某个异性生日的时候写了这个程序. 编译平台: MinGW GCC gcc -o happOK happyOK.c -lglut32 ...
- HttpRunner 探索 HttpRunner 最佳体现形式_安装篇
基于HttpRunner的一款小而美的测试工具--FasterRunner, 由于还是V1.0初版,很多功能还没来得及实现,已有功能还得拜托大家多多帮忙测试FasterRunner:https://g ...
- 分区表分区字段的update操作
默认情况下,oracle的分区表对于分区字段是不允许进行update操作的,如果有对分区字段行进update,就会报错——ORA-14402: 更新分区关键字列将导致分区的更改.但是可以通过打开表的r ...
- iOS 12中无法获取WiFi的SSID了?
1.现象描述 2018年苹果升级iOS12之后,没有办法获取wifi名称等信息. 2.获取wifi信息 2.1 获取代码 /************ 控制器的view 加载完毕 的时候调用 ***** ...
- Nginx部署静态页面及引用图片有效访问的两种方式
nginx安装百度一下有很多,直接正题: 静态文件目录结构 file#文件位置 /home/service/file/ css js images html fonts 配置nginx.conf核心代 ...
- Summer Holiday 强连通
Problem Description To see a World in a Grain of Sand And a Heaven in a Wild Flower, Hold Infinity i ...
- ScriptableObject
什么是ScriptableObject? 点击查看Unity官网的描述 直译过来就是“脚本化对象”,换言之这类作为存储结构化的数据来使用,并写入Unity的资源.asset文件去存储一组数据,取用的时 ...
- 解决“System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本”的问题
以server2008为例: 首先确保使用sqlplus能访问数据库. 1.管理工具->计算机管理->本地用户和组->组->administrators属性,添加,高级,立即查 ...
- [TJOI2015]线性代数(网络流)
[TJOI2015]线性代数(最大权闭合子图,网络流) 为了提高智商,ZJY开始学习线性代数.她的小伙伴菠萝给她出了这样一个问题:给定一个n*n的矩阵B和一个1×n的矩阵C.求出一个1×n的01矩阵A ...