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 ...
随机推荐
- 天梯赛 L2-006 树的遍历(序列建树)
L2-006 树的遍历 (25 分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点 ...
- c++特别要点:多态性与虚函数
本来是准备在工厂模式中顺便整理.但粗略浏览了,内容还是很多,需要单独开一篇. 一.什么是多态性? 多态性可以概括为“一个接口,多种方法”. 多态与非多态的区别在于“成员函数调用地址的早绑定和晚绑定”. ...
- ubuntu配置静态路由
1. #ifconfig 注意 eth0为你要配置的interfase 2. #vi /etc/network/interfaces # This file describes the network ...
- Oracle PL/SQL编程语法
--plsql块结构,计算a,b的和 declare a ; b ; c int; begin c:=a+b; dbms_output.put_line(c); end; --%type数据类型,输出 ...
- C语言数据结构-单链表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作
1.数据结构-单链表的实现-C语言 typedef struct LNode { int data; struct LNode* next; } LNode,*LinkList; //这两者等价.Li ...
- LCA 【bzoj 4281】 [ONTAK2015]Związek Harcerstwa Bajtockiego
[bzoj 4281] [ONTAK2015]Związek Harcerstwa Bajtockiego Description 给定一棵有n个点的无根树,相邻的点之间的距离为1,一开始你位于m点. ...
- 10.15 lzxkj
几天前写的,忘了放了,在此填坑 10月16的题我出的不写题解了 lzxkj 题目背景 众所不周知的是, 酒店之王 xkj 一个经常迷失自我的人 有一天, 当起床铃再一次打响的时候, TA 用 O(1) ...
- 【NOIP 2009】靶形数独
题目描述 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教,Z 博士拿出了他最近发明的“靶 ...
- throw new Error('Cyclic dependency' + nodeRep)
近日重装node_modules 依赖之后,项目启动报错 throw new Error('Cyclic dependency' + nodeRep) 查找资料后得知 产生这个 bug 的原因是循环引 ...
- 17.Merge Two Binary Trees(合并两个二叉树)
Level: Easy 题目描述: Given two binary trees and imagine that when you put one of them to cover the ot ...