《编写高质量代码-Web前端开发修改之道》笔记--第二章 团队合作
- 本章内容:
- 揭秘前端开发工程师
- 欲精一行,必先通十行
- 增加代码的可读性--注释
- 提高重用性--公共组件和私有组件的维护
- 冗余和精简的矛盾--选择集中还是选择分散
- 磨刀不误砍柴工--前期的构思很重要
- 制订规范
- 团队合作最大的难度不是技术,是人
揭秘前端开发工程师
- CSS布局是前端开发工程师的基本功,一定要熟练;
- 不仅要会使用原生的JavaScript,还要会是使用JavaScript类库和Ajax;
- 了解一门后台语言
- 1.有助于编写方便服务端工程师套脚本的模板;
- 2.在写Ajax应用的时候,可以自己模拟服务器端输出,方便调试;
- 3.对前端和服务端如何配合有清晰的大局观认识,了解数据传递的整个流程,以配合工程师共同制定复制效果的实现方案。
- 富媒体应用,如flash-ActionScript 开发。(附属技能,多一技傍身,更强生!)
欲精一行,必先通十行
看到这个标题,有没有想到“豆瓣-张克军”画的那张图?一入眼是不是感觉很恐怖?仔细看看,我相信不少人至少通一半。除了必要的专业技能,多了解了解那些需要通的内容,确实对我们的帮助很大。
- 精一行之粒度细化问题:
-
- 精的粒度越小,则就业范围越小--自身使用价值也就越小;
- 前端行业界限非常不明显,多个领域渗透。例:ActionScript开发,需要前端与后端的配合,如果没有相应的知识及整个流程,工作中则会困难重重。
十行:只需要知道,不需要精。在前端领域中,一专多能是非常有必要的。
增加代码的可读性--注释
团队合作中,必要的一种手段。无论有计划的“直接团队合作”和意外的维护他人代码的“间接团队合作”,保证代码的可读性良好的绝佳武器就是注释。也有人在谈论注释的维护,说代码被改,而不改注释的问题,这种现象完全是不负责的表现,扣他两次工资,通报批评他两次,也就涨记性了。顽疾必须重药医!毕竟你自己写的代码在过一段时间回来再看没有注释也会云山雾罩不是?!
提高重用性--公共组件和私有组件的维护
团队合作很容易产生的问题就是--冗余。多个人分别写了同一功能代码,造成资源及其维护上的浪费。
避免冗余最好的办法就是根据代码的重用度分为共用组件和私有组件两类。设计共用组件时需要考虑让接口保持弹性,并且高度模块化。共用组件的稳定性也要保持高度警惕,一般提供“读”的权限。可考虑用SVN或规范团队约定。
冗余和精简的矛盾--选择集中还是选择分散
- 组织公共组件的粒度:
- 1.组织粒度越大,文件越集中,加载和管理越方便,但无用代码越多;
- 2.组织粒度越小,文件越分散,加载和管理越麻烦,但无用代码越少;
我们要加载方便就要适当的舍弃精简性,要保证精简性就要适当放弃加载的方便性。我们要认识到一点:完美的解决方案是不存在的,我们只能在精简和冗余中尽量找其中的平衡点。以JavaScript类库中的jQuery和YUI来做对比,jQuery选择了集中,YUI则是分散。
我们得认识到,只可能尽量减少冗余,不可能根除冗余。
磨刀不误砍柴工--前期的构思很重要
对中大型网站来说,如果还没有一个考虑成熟的前端框架前就开始写代码是会带来非常多的问题的,如代码冗余、多人合作容易冲突、代码组织没有规律等。
前期构思很重要。具体来说,构思的主要内容主要包括规范的制定、公共组件的设计和复杂功能的技术方案等。一般来说,前期构思占整个项目30%-60%的时间都是正常的。
制订规范
规范对于团队合作是非常重要的。它能有效指导团队成员按照一个统一的标准进行开发,尽量让开发过程平滑,减少不必要的冲突,提高开发效率并保证软件的质量。
团队合作最大的难度不是技术,是人
学会与人相处也是工程师必须的一门课,它的重要性甚至超过了技术本身。切记,能独立决策的问题的都是小问题,需要与人协商的问题才可能是大问题,要学会与人相处。
《编写高质量代码-Web前端开发修改之道》笔记--第二章 团队合作的更多相关文章
- 《编写高质量代码-Web前端开发修改之道》笔记--第一章 从网站重构说起
本章内容: 糟糕的页面实现,头疼的维护工作 Web标准--结构.样式和行为的分离 前端的现状 打造高品质的前端代码,提高代码的可维护性--精简.重用.有序 糟糕的页面实现,头疼的维护工作 工作中最大的 ...
- 《编写高质量代码-Web前端开发修改之道》笔记--第三章 高质量的HTML
本章内容: 标签的语义 为什么要使用语义化标签 如何确定你的标签是否语义良好 常见模块你真的很了解吗 标签的语义 HTML标签的设计都是有语义考虑的,部分标签的中文翻译图示及本章内容参看:3.1 标签 ...
- 编写高质量代码:Web前端开发修炼之道(一)
最近老大给我们买来一些技术方面的书籍,其实很少搬着一本书好好的完整的看完过,每每看电子档的,也是打游击式的看看这章,瞅瞅那章,在那5本书中挑了一本比较单薄的<编写高质量代码web前端开发修炼之道 ...
- 读《编写高质量代码-Web前端开发修炼之道》笔记
第一章 1.Web标准由一系列标准组合而成,核心理念是将网页的结构,样式和行为分离,所以分为三大部分:结构标准,样式标准和行为标准.结构标准包括XML标准,XHTML标准,HTML标准:样式标准指CS ...
- 编写高质量代码:Web前端开发修炼之道(四)
这一节是继上一节高质量的Javascript 7)编程实用技巧 1:弹性 从 一个标签区和内容区的实例(就是点击不同的标签菜单显示不同的内容块)来说明不需要每个tabmenu都设置onclick事件, ...
- 编写高质量代码:Web前端开发修炼之道(三)
第五章:高质量的Javascript 这章的内容我看的最久,这是跟我js基础没打好有着莫大的关系,但是还是耐着性子看完了, 不懂的东西都是百度上搜索,理解后再继续.下面是记录下来的笔记. 1)如何避免 ...
- 编写高质量代码:Web前端开发修炼之道(二)
第四章:高质量的css 1)怪异模式和标准模式 在标准模式中,浏览器根据规范表现页面:而怪异模式通常模拟老式浏览器的行为以防止老站点无法工作. 他们两者之间的差异比较典型的表现在IE对盒模型的解析:在 ...
- 《编写高质量代码——Web前端开发修炼之道》读后随笔
结构样式行为的分离 结构标准包括XML标准.XHTML标准.HTML标准:样式标准有CSS标准:行为标准主要包括DOM标准和ECMAScript标准. 通常的项目会按照如上的方式进行分离,但自己曾今做 ...
- 【读书笔记】读《编写高质量代码—Web前端开发修炼之道》 - JavaScript原型继承与面向对象
JavaScript是基于原型的语言,通过new实例化出来的对象,其属性和行为来自于两部分,一部分来自于构造函数,另一部分是来自于原型.构造函数中定义的属性和行为的优先级比原型中定义的属性和优先级高, ...
随机推荐
- dubbo-RPC学习(二) http protocol
dubbo中的协议默认支持很多种,从简单的开始,先解读HttpProtocol吧. dubbo中的http-RPC基于spring web支持的http invoker,web容器默认使用jetty. ...
- win7系统激活最简单方法
利用激活工具快速激活WIN7系统! 工具/原料 小马Oem7.未激活的WIN7系统 步骤/方法 1 复制BT种子 http://www.pccppc.com/download/oem7F.rar粘贴到 ...
- oracle_partition sample_simple
一:范围分区 就是根据数据库表中某一字段的值的范围来划分分区,例如: create table graderecord ( sno varchar2(10), sname varchar2(20), ...
- Linux编程之《守护进程》
Intro ----- 守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程常 ...
- 实用JS大全
****************************************************************(一)常用元素,对象,事件,技巧 事件源对象 event.srcElem ...
- hibernate 入门案例
1,创建工程,导入jar ojdbc14.jar 数据库驱动包,我用的是oracle数据库,根据实际的数据库选择驱动包 创建java类,并利用bibernate插件完成orm映射,创建hbm.xml ...
- Hill Climber and Random Walk
- SQL Server 2012 performance dashboard 安装
微软提供了一个很好用的工具performance dashboard: 下载地址: http://www.microsoft.com/en-us/download/details.aspx?id=29 ...
- [转]Web性能监控自动化探索之路–初识WebPageTest
本文转自:http://www.webryan.net/2013/01/use-webpagetest-to-analyze-web-performance/ 无论是从Velocity 2012还是在 ...
- HDU 3533 Escape (BFS + 预处理)
Escape Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...