`
zhao3546
  • 浏览: 21991 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

从JavaScript的事件处理过程看项目管理

 
阅读更多

 

JavaScript的事件处理过程看项目管理

2011-08-07

引子

最近在做7.30版本的过程中,Portal页面遇到一个JS问题,处理了很久都搞不定,我实在坐不住了,就协助他们一起看了看这个问题,问题最后搞定了。回顾整个项目过程时,我却因这个bug想到了项目管理的问题。

问题的经历我就不写了,但我使用一个简化的例子来给大家介绍一下:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr">

  <body onClick="alert('body');">

    <div onClick="alert('div');">

      <table onClick="alert('table');">

        <tr>

          <td>td test</td>

        </tr>

      </table>

    </div>

  </body>

</html>

上面的例子显示出的效果如下:

1

当点击“td test”时,效果依次是分别如下三个窗口:

2                                          3                                           4

如果你研究过JavaScript的事件处理模型,上面这个现象是很好理解的;如果没有,为什么会这样请看我下面的解释。

解析JavaScript的事件机制

事件流

JavaScript 的事件是以一种流的形式存在的,一个事件会有多个元素同时响应。有时候这不是我们想要的,我们只需要某个特定的元素响应我们的绑定事件就可以了。

事件分类

捕获型事件(非IE)、冒泡型事件(所有浏览器都支持)

捕获型事件是自上而下的,而冒泡型事件是自下而上的。下面我用一个图来直观表示:

5

只要你仔细看看上图,就能搞明白JavaScript中的事件模型是怎样的了。再回过头来看看上文示例中的效果,就不难明白了。如果你不知道这个事件模型,又没有通过加alter()进行过测试,写出与这样个事件处理模型冲突的代码自然就一头雾水了。

关于项目管理

然而我真正想说的是这个JavaScript事件引起我对项目管理的思考。下面我简单画一下常见的软件开发组织的管理结构图:

6

我们的软件开发组织开发一般是自上而下的管理方式,PM下发大的任务给各PLPL又将任务细化后进一步分配给具体的人员,从这点上我们再来参考下图5,外部事件(可以对应外部的需求等)应该可以由最上层开始捕获,然后由上层依次传递到下层,传递到由最底层处理完之后,则再从下层向上层依次反馈。正常情况下,就应该遵循这样的规则来办事,否则就会出现异常。如果一个大的需求未经过SE直接下发到具体的开发人员而PM又不知道,对整个项目组可能就会一个大的麻烦。

在项目过程中,每个具体人员可能都遇到一些处理不了的问题,则应先找自己的PL去协助;如果PL也处理不了,则PL再找PM帮忙。一般来说,大的技术风险、对外依赖的协调等等,最终都会汇聚到PM处进行统一跟踪,而模块内部的疑难问题员工搞不定,则需要由PL组织攻关。

理想的组织模型中,各个角色的分工和职责应该尽可能明确,角色和角色之间的关系也应尽可能清晰明了,否则后面各种事情就会非常难处理。

首先,员工应尽可能处理好各种问题,自己负责的事情应该尽全力去保证搞定(否则问题全部汇总上去也不现实),对于其中的风险项要迟早识别出来反馈给PL,重要风险也应该反馈至PM处。

PMPL,应该尽可能过滤掉不必要的需求和风险,以减少对员工对正常工作的干扰。同时,PMPL还应全力协助解决员工提出的风险和困难。

当然,现实中的组织开发组织内部的关系,不会这么简单,人员之间的关系可能是网状的,沟通成本还是非常高的,要全面说清楚,我暂时还没有这样的能力。

 

 

  • 大小: 9.3 KB
  • 大小: 8.5 KB
  • 大小: 8.3 KB
  • 大小: 8.5 KB
  • 大小: 22.7 KB
  • 大小: 36.7 KB
分享到:
评论
2 楼 zhao3546 2013-09-23  
ivan0609 写道
呵呵,对于JavaScript和项目都没有深入的理解,菜鸟

呵呵,两年前带着新员工一起解决了JavaScript的一个问题后,有感而发,不一定对,JavaScript也不是我的专长,哈哈,见笑。
1 楼 ivan0609 2013-09-22  
呵呵,对于JavaScript和项目都没有深入的理解,菜鸟

相关推荐

    扣代码工具 javascript事件 捕获者2.0.zip

    事件捕获是从最外层元素(文档)开始,逐级向下传递到目标元素的过程,这使得在元素树的更高级别可以处理事件,从而实现全局的事件管理。 "132689964203577242"可能是这个工具的主程序或者一个重要的数据文件。而...

    关于编写性能高效的javascript事件的技术

    因为DOM元素在JavaScript代码中本质上是JavaScript对象,所以从对象的角度来看,这种事件处理方式也较为直观。 除了上述两种事件处理方式,还有其他几种方法可以帮助我们提高JavaScript事件的性能。例如: 1. 使用...

    javascript特效项目

    这个项目可能包含了多个不同的特效模块,例如动画、滑动、过渡效果等,这些都是通过JavaScript的事件处理、DOM操作和时间函数等特性实现的。 1. **JavaScript基础**:项目的基础是JavaScript语法,包括变量声明...

    JavaScript实战项目之飞机大战

    为了实现游戏,开发者可能使用了一些JavaScript库或框架,如Phaser或CreateJS,它们提供了丰富的功能,如动画系统、物理引擎、精灵图管理等,简化了游戏开发过程。同时,游戏可能采用面向对象编程,通过创建类来表示...

    javaScript拖曳流程实现

    这种技术通常用于项目管理、任务分配、流程建模等领域,为用户提供了一种无需编写代码即可自定义流程的方式。 在JavaScript中实现拖曳流程涉及多个关键知识点: 1. **事件监听**:拖曳操作的核心是监听用户的鼠标...

    JavaScript飞机大战项目.rar

    总的来说,"JavaScript飞机大战"项目涵盖了JavaScript开发的多个重要方面,通过实际操作,不仅能提升JavaScript编程能力,还能深入理解前端开发的流程和技术,对于想要提升技能或从事游戏开发的开发者来说,是一个...

    javaScript脚本网站总项目 完整素材·代码简介··

    本项目“JavaScript脚本网站总项目”旨在提供一个完整的素材库和代码集合,帮助开发者全面掌握JavaScript在网站开发中的应用。 首先,我们要理解JavaScript的基本概念。它是一种解释型的、弱类型的、基于原型的语言...

    Javascript 51Job项目源码下载

    JavaScript 51Job项目源码下载是一个非常有价值的资源,它为开发者提供了一个深入了解JavaScript编程以及Web应用程序开发的实际案例。51Job是中国知名的职业招聘网站,其前端源码能帮助我们理解一个大型在线平台的...

    JavaScript前端开发程序设计教程(微课版)-教材代码.zip

    通过这份教材代码,你将能够深入理解JavaScript语法、数据类型、控制流程、函数、对象、数组、DOM操作、事件处理等核心概念,并逐步提升到更高级的主题,如闭包、原型链、异步编程和模块化。 1. **JavaScript基础...

    accpS2javascript项目

    【描述】提到“完全按照项目实战要求所做”,意味着这个项目是基于真实的开发场景构建的,能够帮助学习者体验到从需求分析到项目交付的完整流程。项目开发者鼓励用户提供反馈,这表明它可能包含一些开放性的元素,...

    javascript的当当网项目

    【描述】中提到的“JavaScript的一个小项目”,暗示了这是一个相对简单的项目,旨在通过实际操作让初级开发者熟悉JavaScript的基本语法、DOM操作、事件处理、AJAX异步通信等核心技术。在这个项目中,开发人员将有...

    成绩管理系统 javascript

    标题中的“成绩管理系统 javascript”指的是一个使用JavaScript编程语言开发的成绩管理软件系统。JavaScript是一种广泛用于网页和网络应用的脚本语言,它允许在用户浏览器端进行动态内容的创建和更新,提高了网页的...

    JavaScript前端开发程序设计教程(微课版)-PPT课件.zip

    综上所述,《JavaScript前端开发程序设计教程(微课版)》将涵盖JavaScript的基础语法、DOM操作、事件处理、ES6新特性、AJAX、Promise、异步编程以及主流前端框架的使用,帮助学习者全面掌握JavaScript前端开发的...

    javascript实现的outlook事件日视图

    标签“js outlook dayview event”表明这是一个结合了JavaScript、日视图和事件管理的项目。对于开发这样一个功能丰富的日历视图,理解JavaScript的DOM操作、事件处理和动画效果是至关重要的。同时,良好的代码组织...

    javascript语言教程及项目案例

    学习如何绑定事件监听器和处理事件是JavaScript前端开发的重要技能。理解事件冒泡和捕获机制,以及如何阻止默认行为,将使你能够更好地控制用户交互。 五、AJAX与Fetch API AJAX(异步JavaScript和XML)允许在不...

    全JavaScript语言Web实现学习项目

    7. **版本控制与协作**:项目开发过程中,Git作为版本控制系统,用于追踪代码变更、分支管理和团队协作。熟悉Git的基本命令和工作流是每个开发者必备的技能。 8. **测试与调试**:单元测试和集成测试是保证代码质量...

    javascript项目大全.zip

    例如,一个简单的计时器项目可能涉及定时器API(`setInterval`和`clearInterval`),事件处理(如按钮点击启动计时器)和DOM操作(更新显示时间的元素)。一个更复杂的项目如使用React构建的SPA(单页应用)会涵盖...

    JavaScript版当当网

    通过这个项目,开发者不仅能深化对JavaScript的理解,还能掌握前端开发的实战技巧,如DOM操作、AJAX通信、事件处理、数据管理等。同时,对于前端框架(如React、Vue等)的学习也会有所帮助,因为它们的核心思想和很...

    一个轻量级的 JavaScript 库,可用于快速创建流程图.zip

    在项目管理、软件设计、业务流程分析等方面,流程图都发挥着关键作用。而使用JavaScript库来创建流程图,可以在网页上实现动态、交互式的展示,使用户能够更直观地理解和操作流程。 这个库的名称未在描述中明确给出...

    accp5.0s2javascript项目

    通过这个项目,学员能够深入理解JavaScript在前端开发中的重要性,掌握DOM操作、事件处理、Ajax异步通信等关键技术。 JavaScript是Web开发中的关键语言,它允许在用户的浏览器上运行代码,为网页提供实时更新和交互...

Global site tag (gtag.js) - Google Analytics