`
axl234
  • 浏览: 268805 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CSS团队协作开发方式的思考

    博客分类:
  • css
 
阅读更多

有效的团队协作开发,可以提高工作效率。但在实际的协作开发中情况并非总是这样一帆风顺,最常见的一种情况是当大家都完成各自负责的部分后需要进行集成时往往会让我们大费周章。如过您也有类似烦恼,下面是我对如何改善这一状况的思考,欢迎探讨交流。

一 模块化

模块化概念:

和模块化相关的一个概念就是样式作用域,作用域是模块化基本条件。样式作用域是一条样式规则可以影响的范围,在不同样式作用域中的同名.class可以互不影响。CSS模块就是把一些相关的样式定义同一个样式作用域中。

模块化优点:

模块化可以方便复用模块代码,可以减少复制黏贴产生重复代码,重复的代码不仅增加代码的可维护性同时也会增加文件尺寸,导致样式加载时间延长推迟页面渲染时间,对前端性能也会造成一定的影响。

模块化实现:

一般可以使用CSS的包含选择符定义样式作用域,一个样式模块应该尽量保证其独立性减少外部依赖,和页面中其他样式代码划清界线这样在另外一个项目需要同样的样式时才可以方便的拿来使用,尽量减少全局样式,属于模块的成员应该定义在属于模块的局部作用域内,这样在多人协作时模块化的代码可以有效降低样式冲突。

模块化可能的问题:

避免在一条样式规则中使用过多子作用域如:
.mod_name .sub_name .sub_name .sub_name .member{...}
如果一个页面中有非常多这样的样式,那样页面的大小会快速增加,违反了性能优化原则,增加了服务器到浏览器网络传输量。
可以把上面的规则改成类似这样:
.mod_name .member_parent_sub_name .member{...}
这样一方面把一条样式规则中包含的.class数量降低到了3个以内减少了页面尺寸,另一方面由于选择符变简单了也能提高浏览器解析CSS的效率。

二 性能问题:

除了上面那个需要注意的问题外。另外根据《高跟性能网站建设进阶指南》中所描述的,浏览器在解析一条css选择符的时是按照从右向左的顺序解析的,直到能够确定需要匹配的DOM元素,或者是解析到了选择符的最左边,对这条选择符符解析才算结束。所以我们应该让靠右边的选择符尽量保证具体。

三 可维护性问题:

为了降低CSS的维护成本,更容易读懂别人的CSS代码。在同一项目中应该确保CSS书写风格的一致性。例如.class或ID的命名风格、CSS规则书写顺序等。对于class或ID的命名风格如果有两个单词组成的class 或ID,常见的命名风格有驼峰大小写、使用“-”分隔、使用“_”分隔。具体使用哪一中可以跟团队成员习惯任选其一并且保持同一即可。对于CSS规则书写顺序我一般是先写影响文档流(常规流、浮动流、绝对/固定定位)的属性然后是盒模型属性接着是字体属性等等。另外一个团队如果有一套统一的规范的话也可以大大降低维护的复杂度。

分享到:
评论

相关推荐

    使用HTML语言和CSS开发商业站点4

    在这个过程中,你将学习到项目管理、团队协作以及与客户沟通的技巧,这些都是开发商业站点时不可或缺的部分。 总的来说,这个课程涵盖了从基础的HTML标签和属性到高级的CSS布局策略,旨在使学员能够独立地构建和...

    前端团队开发规范====================

    前端团队开发规范是指前端开发团队在开发过程中需要遵守的一些规则和标准,以确保团队的开发效率和质量。这些规范包括前端命名规范、技术栈规范、编程规范、Git规范、前后端协作规范、UI设计规范、前端测试规范、...

    《JavaWeb应用开发》课程标准.docx

    能力目标要求学生能使用HTML、CSS、JavaScript编写静态页面,使用JSP、Servlet、Filter和JavaBean开发动态网站,具备在Web环境下操作MySQL数据库的能力,以及团队协作能力。知识目标则涵盖网页编程基础知识,如HTML...

    《JavaWeb应用开发》课程标准可用.pdf

    能力目标方面,学生应能使用HTML、CSS、JavaScript等技术编写静态网页,使用JSP、Servlet、Filter、JavaBean等技术开发动态网站,具备在Web环境下操作MySQL数据库的能力,以及在项目开发中进行团队协作。知识目标则...

    JAVA开发工程师个人简历模板.doc

    虽然简历中不应包含过于个人化的信息,如宗教信仰或参与的游行活动,但候选人应该突出自己的专业技能、项目经验和团队协作能力,这些是企业在招聘JAVA开发工程师时更关注的要点。同时,展示出对行业的热情和持续学习...

    技术类word简历.docx

    前端开发技术栈知识点 ...具有良好的团队协作能力,能够胜任重复性的工作和承受一定的工作压力,对前端开发有着浓厚的兴趣、积极主动学习相关知识,关注并了解前端开发领域前沿,并有很强的责任心。

    一个实例引发的思考.ppt(sql2000)

    在团队协作中,代码的清晰性和可理解性至关重要,因此需要在代码的简洁性和功能复杂性之间找到平衡。 总的来说,这个实例引发了关于JavaScript框架选择和实现策略的深入思考。开发者不仅需要掌握不同框架的用法,...

    web开发人员工作心得

    6. **团队协作与沟通:**有效的团队沟通能够促进知识共享,加速问题解决。建立一个开放、支持性的团队环境,对个人成长和项目成功都至关重要。 7. **自我反思与记录:**定期总结工作中遇到的问题及解决方案,可以...

    《HTML与JavaScript》课程教学的探讨.pdf

    同时,通过团队协作开发网站项目,可以培养学生的合作精神和实际操作能力,让他们在实践中学习和解决问题。 在教学方法上,传统的理论课与实验课分开的方式可能不利于知识的巩固。理想的教学模式是将理论与实践相...

    javaweb应用开发课程标准修订版.docx

    课程目标在于培养学生规范编程、面向对象思维、问题解决能力、职业素质、团队协作和沟通技巧,为未来专业化软件开发工作奠定坚实基础。 具体能力目标包括: 1. 使用HTML、CSS和JavaScript编写静态网页; 2. 使用JSP...

    oa开题报告oa开题报告

    综上所述,开题报告在软件开发工程师的求职过程中扮演着展示技术实力和项目经验的角色,而求职者需要具备扎实的专业技能、丰富的项目经验、良好的语言能力和团队协作精神,才能在IT行业中脱颖而出。

    Python Django Web从入门到项目开发实战目录.docx

    任务分工部分则强调了团队协作的重要性,讲解了不同角色如项目经理、前端开发者、后端开发者和测试工程师的职责。 在每个小节之后,作者通常会设置习题,以帮助读者巩固所学知识,提升实践能力。这些习题涵盖了理论...

    软件开发专业实习报告四篇.docx

    7. **团队协作**:实习生在实习中学会了与同事有效沟通,及时寻求帮助,理解并处理业务流程,提升了问题解决能力。 8. **软件开发流程**:从需求分析、设计、编码到测试,每个阶段都涉及到不同的技能和思考,实习生...

    网页设计与制作-1期 整体设计.pdf

    素质目标则注重培养学生的思考习惯、问题解决能力、团队协作精神和职业道德。其他目标中,学生通过课程学习有机会考取网页设计工程师或网络程序员等相关职业资格证书。 课程内容设计分为五个单元,每个单元包含不同...

    前端开发述职报告.doc

    在过去的一年中,前端开发部门承担了公司前端页面设计和制作的主要任务,通过团队的协作和努力,成功地处理了相关业务。设计师不仅完成了平面设计和网站设计,还积极参与了页面优化,例如在DK的导航条设计中,充分...

    软件架构师的工作职责.docx

    3. 团队协作:与开发团队中其它成员共同开发,包括项目经理、技术经理、其它工程师,设计出高性能、可扩展而且符合用户需求的方案。 4. 技术管理:协助公司总经理制定总的产品技术路线、技术队伍发展规划及相应资源...

    开发技术的学习.zip

    这个压缩包可能包含了作者对这些主题的深入理解,通过他的笔记和代码示例,我们可以从中学习到他的思考方式和解决问题的方法。尽管最初可能只有作者自己能完全理解,但通过逐步探索,其他开发者也可以从中获益,提升...

    基于java多平台大学生创新团队管理系统设计与实现.docx

    大学生创新团队管理系统的设计与实现旨在提升高校学生的创新能力,促进团队协作与知识共享,以适应现代社会对高素质创新型人才的需求。该系统通过集成JSP技术、JAVA编程语言和MySQL数据库,构建了一个易用、易维护且...

    中外合作办学模式下《web开发概述》课程实验教学改革与实践.pdf

    此外,课程还致力于培养学生的创新思维、独立思考、团队协作、沟通理解以及英文学习等能力。 然而,课程改革前存在一些问题,如教学内容偏重零散知识点讲授、教学方法单一、考核方式传统和教学活动缺乏计划与监控。...

    【个人简历】移动端开发工程师求职简历.doc

    - 富有团队精神,擅长沟通和协作,同时对网页响应式设计和UI设计有了解,擅长Div+CSS布局。 综上,这位移动端开发工程师求职者具有扎实的计算机基础知识,丰富的实践经验,以及良好的自我驱动和团队合作精神,适合...

Global site tag (gtag.js) - Google Analytics