开发过程中应该遵守哪些编码规范和class命名规范?

大家好,我是IT修真院北京分院web第29期学员吴昊杰,一枚正直纯洁善良的web程序员。

开发过程中应该遵守哪些编码规范和class命名规范?

北京分院小课堂

分享人:吴昊杰

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

规范,一个优秀的公司必然有一个优秀的团队,一个优秀的团队必然要有一个好的规范来约束和执行。国内基本各大互联网公司的前端都有自己的开发规范,但总的宗旨基本都是:代码简、易维护、性能高。对于一个大型项目经常会多人协作,这时必须要有一个好的规范才能顺利便捷地进行下去。


总而言之:不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的。


2.知识剖析

基本准则

符合web标准,语义化html,结构表现行为分离,兼容性优良.页面性能方面,代码要求简洁明了有序,尽可能的减小服务器负载,保证最快的解析速度.


html规范

页面的第一行添加标准模式声明!DOCTYPEhtml

代码缩进:tab键设置四个空格(通常在软件右下角设置相应空格大小)

html中除了开头的DOC和'UTF-8'或者head里特殊情况可以大写外,其他都为小写,css类都为小写

建议为html根元素指定lang属性,从而为文档设置正确的语言lang="zh-CN"

不同doctype在不同浏览器下会触发不同的渲染模式()

非特殊情况下样式文件必须外链至(…)之间;非特殊情况下JavaScript文件必须外链至页面底部

尽可能减少div嵌套.

在页面中尽量避免使用style属性,即style="…";写在相应的样式文件中

meta标签一定是在title标签的前面。

对于属性的定义,确保全部使用双引号,绝不要使用单引号。

背景图片请尽可能使用sprite技术,减小http请求。

给区块代码及重要功能(比如循环)加上注释,方便后台添加功能。

不要使用@import,与<link>标签相比,@import指令要慢很多,不光增加了额外的请求次数,还会导致不可预料的问题。

CSS书写顺序

显示属性:display/list-style/position/float/clear…

行高:line-height

文本属性:color/font/text-decoration/text-align/text-indent/vertical-align/white-space/content…

其他:cursor/z-index/zoom/overflow

CSS3属性:transform/transition/animation/box-shadow/border-radius

排版规范

如果是在html中写内联的css,则必须写成单行

每一条规则的大括号{前后加空格

属性名冒号之前不加空格,冒号之后加空格

每一个属性值后必须添加分号;并且分号后空格

多个selector共用一个样式集,则多个selector必须写成多行形式

规则书写规范

使用单引号,不允许使用双引号

每个声明结束都应该带一个分号,不管是不是最后一个声明

除16进制颜色和字体设置外,CSS文件中的所有的代码都应该小写。

除了重置浏览器默认样式外,禁止直接为htmltag添加css样式设置

每一条规则应该确保选择器唯一,禁止直接为全局.nav/.header/.body等类设置属性

class命名

规则命名中,一律采用小写加中划线的方式,不允许使用大写字母或_

命名避免使用中文拼音,应该采用更简明有语义的英文单词进行组合+

不允许通过1、2、3等序号进行命名;避免class与id重名

class用于标识某一个类型的对象,命名必须言简意赅

尽可能提高代码模块的复用,样式尽量用组合的方式

规则名称中不应该包含颜色(red/blue)、定位(left/right)等与具体显示效果相关的信息。应该用意义命名,而不是样式显示结果命名

3.常见问题

问题1:class命名有什么常用方式?

4.解决方案

在实际编程中,命名问题一直是很麻烦的问题,要想代码可读性高,维护方便,就必须规范命名。这里介绍几种命名方法

原子类命名规则

将复用性高的单条属性直接命名成类

                .ml5{margin-left:5px;}

模块命名规则

按照职能划分命名规则,例如,模块是nav,便可以命名nav-tittle、nav-left

BEM

BEM思想是由于项目开发中,每个组件都是唯一无二的,其名字也是独一无二的,组件内部元素的名字都加上组件名,并用元素的名字作为选择器,自然组件内的样式就不会与组件外的样式冲突了。这是通过组件名的唯一性来保证选择器的唯一性,从而保证样式不会污染到组件外。

5.编码实战

6.扩展思考

问题一:原子类的优劣?

原子类在网上争议非常大,原子类简单方便,但是不宜维护,控制困难。原子类其实不是一种工具,而是一种编写CSS的思想,即:抽出高度复用的样式模块,独立成一个原子类,为对应的模块添加。但是不宜过度使用,负责就和直接添加style没有区别了,在涉及数值方面我的建议时不要使用原子类,否则修改起来超级麻烦。

7.参考文献

HTML标签书写规范那些事儿

移动端适配之雪碧图(sprite)背景图片定位

编写模块化css:BEM

css最佳实践

8.更多讨论

什么时候建议使用@import?

不建议使用@import,link标签除了可以加载CSS外,还可以做许多别的的事故,例如界说RSS,界说rel连结属性等,@import就只能加载CSS了

font的缩写顺序是什么


如何計算權重?


除了谷歌翻译,命名还有什么好点的思路提供没?每次命名都很头疼

这个跟着项目规范走,项目规范怎么规定就怎么写.

sass的编译有什么规范?

1.@important:引入文件

2.@media:嵌套css规则

3.@extend:拓展选择器或占位符

4.@at-root: 跳出根元素

5.@debug、@warn、@error:三者都适用于调试,类似于控制台输出信息

css采用驼峰法命名有什么优缺点

除了阅读困难没什么缺点了 ,这个按照自己的感觉走.没有什么优缺点之分.

感谢观看

BY : 吴昊杰

开发过程中应该遵守哪些编码规范和class命名规范?

小课堂

分享人:吴昊杰

腾讯视频:  https://v.qq.com/x/page/f0532r0minv.html

PPT: https://ptteng.github.io/WEB/ppt/%E5%BC%80%E5%8F%91%E8%BF%87%E7%A8%8B%E4%B8%AD%E5%BA%94%E8%AF%A5%E9%81%B5%E5%AE%88%E5%93%AA%E4%BA%9B%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83%E5%92%8Cclass%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83%EF%BC%9F.html#/16

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容