现在的位置: 首页 > 综合 > 正文

web前端经验整理(二)

2012年10月21日 ⁄ 综合 ⁄ 共 1698字 ⁄ 字号 评论关闭

在这里我要写的是,模块化开发,团队组合,以及良好的编程习惯。

模块化开发:

在前端静态页面中,往往是有很多结构是需要重复使用的,所以在开发经验中,为了节约开发时间,方便维护,于是有了模块化开发这一编码经验。何谓模块化?其实是提取公共的结构,在写在新的HTML页面中,通过PHP这样后端语言,引入。在实践中,我们需要借助两个工具,一是:wamp。二是:PHP(当然也可以是C#)。

这是我实际开发的项目,我把它分为三个模块,模块一为内容,模块二为标题,模块三为外box。dom结构如下:

/-----------------------------------------------------------

<div class="box300">

    <div class="box275">

    <h2>最新资源</h2>

      <?php include("template/templet_class_top.phtml"); ?>

    </div>

</div>

模块化的开发模式,在于前端面,可以重复调用,节省开发时间,提高开发效率。样式可以通过内加载或者外部引入文件加载,这主要取决于自己项目的大小,如果PV比较高,为了减少HTTP请求,可以写成<style type="text/css">.dd{...}</style>或者可以使用YUI的工具,Yahoo! combo handler来合并样式文件。

整体结构如上图,脚本通过延迟加载,在渲染完DOM之后,再加载脚本,可以减少用户的等待时间,从而提高用户体验。

团队组合:

在实际项目中,这里往往不在于技术,而是人。所以常说:如何做人,其实也很重要。谨言慎行,不是没有道理的。一个比较大的项目,是需要多人协同合作开发的。所以在模块化开发中,对于公共组件样式的维护,是需要专门的人员来进行的。具体页面内容的部分则是当事工程师来进行的。在团队组合中,需要规范化命名规则,组合样式,比如:

<div class="wd200">

  <b class="工程师一 b-fw">内容</b>

</div>

<div class="wd200">

  <b class="工程师二 b-zx">内容</b>

<div>

当然对于规范化制度的制定,还是需要制定人去考虑的,究竟怎么写方便,怎么写不会出现命名上的冲突,还是有当事的项目与开发人员决定的。

在前端范畴中,对于冲突的不仅仅是样式,还有脚本。那么该如何解决它呢?代码如下:

//匿名函数一

(function(){

  var a = 123; var b = 321; i =a; r = d;

  function d(h,j){

    执行体

  }

})();

在匿名函数中,可以控制它的作用域,这样就解决了一项基础的冲突问题。但是,问题又来了,在不同的匿名函数中如何通信呢?我需要访问这个匿名函数,该如何呢?其实这里可以想象出一个交换的过程。比如b和a要互相换个位置,那么我需要设置一个c来搭建桥梁。意思呢,就是这么个意思。

//匿名函数二

(function(){

  function g(){

     alert(i); //123

         alert(r);//函数d

  }

})();

到这里了,如果又怕全局变量的名字会有冲突,其实可以通过空间命名这么一个概念去解决它。当然在此之前,我们需要设置一个GLOBAL,代码如下:

var GLOBAL = {};
GLOBAL.namespace = function (str) {
    var arr = str.split("."), o = GLOBAL;
    for (i = (arr[0] == "GLOBAL") ? 1 : 0; i < arr.length; i++) {
        o[arr[i]] = o[arr[i]] || {};
        o = o[arr[i]];
    }
}

【空间命名的代码由《编写高质量代码》一书中提供】

下图是我为方便日常开发,所编写的plus ui项目中的代码,基于JQUERY,包括了日常开发的一些常用效果。

 

良好的编程习惯:

一个好的代码,是需要大量的注释文档来说明的,因为,也许以后维护的并不是自己,所以注释对于一个项目是重中之重。

抱歉!评论已关闭.