懒懒交流会:ClassName的长命名 VS. 短命名

源自2009.11.26懒懒交流会的PK堂,收获甚多,故作此记。

PPT链接

说实话,看到这个题目时我觉得这有什么好讨论的,肯定会是场一边倒的讨论。因为个人比较倾向于短命名,简单优雅,可能是出于程序员的洁癖,容不得任何冗余的东西。(和我一个想法的人应该不在少数吧

====

先看下长命名和短命名的定义:

<!-- 长命名:通过前缀体现上下文环境的CSS命名方式。 -->
<div class="category">
        <div class="category-hd"></div>
        <div class="category-bd"></div>
        <div class="category-ft"></div>
</div>

<!-- 短命名:通过继承体现上下文环境的CSS命名方式。 -->
<div class="category">
        <div class="hd"></div>
        <div class="bd"></div>
        <div class="ft"></div>
</div>

====

会上大家先是给双方各列了一堆优缺点,结果不相上下。

然后从性能和可维护性上进行了详细的争论。

性能分为下载性能(速度)和渲染性能,大家认为:

  1. 1. 下载性能可能是短命名略胜一筹,因为文件会稍小些;
  2. 2. 渲染性能则是长命名好些,因为CSS中通常短命名我们用类似.box .hd {}定义样式,而长命名直接是.box-hd {},pagespeed认为选择器长度会影响渲染性能。

(注:其实平时工作中这两点都会被忽略。gzip可以进一步减少第一个问题的差距,而由此引发的渲染性能也是微乎其微)

然后大家就可维护性进行了讨论,这次支持长命名的人较多。

  1. 1. 长命名给人较为可靠的感觉;
  2. 2. 长命名较短命名发生冲突的几率低很多;
  3. 3. 可复用的内容通过短命名定义,无可争议;

最后是使用场景,玉伯借用YAHOO首页的例子牵头,大家讨论,总结如下:(主要依据可维护性)

  1. 1. 框架级样式用短命名,比如盒模型、栅格;
  2. 2. 通用样式用短命名,比如.hidden、.clearfix;
  3. 3. 应用级样式用长命名,比如淘江湖项目的通用样式都加上“sns”前缀(有.sns-avatar、.sns-box等);
  4. 4. 页面级样式用长命名,比如类目模块,可能包含category-hd、category-bd、category-bd-tips等;
  5. 5. 嵌入式应用用长命名,因为可能会被嵌入到任何复杂环境中,比如开源编辑器、Google的各种应用(map, adsence, gmail…)

以上结论有个前提:就是页面是多人(包括后期的维护人员)协作的,一个人的页面(如Blog)不在考虑范围之内。

====

欢迎补充指正。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索应用
, 页面
, 样式
, 性能
, 短链接
可维护性
vs项目重命名、vs2015 重命名、vs引入命名空间快捷键、vs 重命名、vs2015 项目重命名,以便于您获取更多的相关知识。

时间: 2024-10-29 13:38:41

懒懒交流会:ClassName的长命名 VS. 短命名的相关文章

第56期懒懒交流会

第56期懒懒交流会强势回归啦!本期由京杭同学携手打造,如此精品盛宴,请大家走过路过千万不要错过! 另外,以后每月一期的懒懒交流会分享话题在会后都会发布到本博客上,请大家及时关注. 欢迎大家follow懒懒交流会官方微博:http://weibo.com/taobaolanlan 文艺范十足的 流火 同学为大家带来的 <Juicer:a fast template engine> Juicer 是一个轻量高效易用的Javascript模板引擎,可以运行在浏览器 和 NodeJS 环境,同时兼顾了

2010年第一季度《懒懒交流会》精选特辑

懒懒交流会发起于2008年8月末,每月最后一个周五举行,是淘宝UED前端工程师交流分享的盛会,也是D2的前身. 懒懒,第一个"懒"是希望辛苦了一个月的前端们可以放下手中的工作,来懒懒吃点零食,偷懒放松一下:第二个"懒"是为了促进前端技术的分享交流,让大家可以在工作上偷下懒.马总说过:懒不是傻懒,如果你想少干,就要想出懒的方法,要懒出风格,懒出境界.欢迎同学们常来懒懒偷懒,获取偷懒秘籍,懒懒正努力为您营造一个轻松.自由.开放的交流分享氛围. 懒懒分享链接如下:PPT.

网站要做到”扬长“而”补短“

俗话说"物竞天择,适者生存".正是有了竞争,才使得我们人类进步,往小的方面来讲,做网站又何尝不是这样呢?正是由于形形色色的网站层出不穷,网站行业领域的竞争力越来越大,往往使得那些经得住考验的网站笑到了最后,说到这里,笔者得出一个结论:网站为了不在优胜劣汰的竞争中被淘汰,务必要做到"扬长"而"补短. 扬长篇 世界上没有两篇相同的叶子,网站也是一样,每一个网站都有自己的优势,对于竞争者的网站来讲,我们的网站流量或许没有他们的高,但是我们同样拥有自己的优势,比如

《MySQL DBA修炼之道》——1.5 长连接、短连接、连接池

1.5 长连接.短连接.连接池 当数据库服务器和客户端位于不同的主机时,就需要建立网络连接来进行通信.客户端必须使用数据库连接来发送命令和接收应答.数据.通过提供给客户端数据库的驱动指定连接字符串后,客户端就可以和数据库建立连接了.可以查阅程序语言手册来获知通过何种方式使用短连接.长连接.1.5.1 短连接 短连接是指程序和数据库通信时需要建立连接,执行操作后,连接关闭.短连接简单来说就是每一次操作数据库,都要打开和关闭数据库连接,基本步骤是:连接→数据传 输→关闭连接. 在慢速网络下使用短连接

http长连接与短连接

http长连接与短连接  一.长连接与短连接: 长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收.这种方式下由于通讯连接一直存在.此种方式常用于P2P(点对点)通信. 短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接.此方式常用于一点对多点通讯.C/S通信.  二.长连接与短连接的操作过程:  短连接的操作步骤是: 建立连接--数据传输--关闭连接...建立连接--数据传输--关闭连接  长连接的操作步

TCP的长连接和短连接

TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议. 长连接与短连接 所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持.  短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此

如何实现PHP长网址与短网址

什么是长链接.短链接 顾名思义,长链接就是一个很长的链接;短链接就是一个很短的链接.长链接可以生成短链接,短链接来源于长链接. 为什么要使用长链接.短链接 更加美观,我们可以对长链接和短链接进行对比,很显然可以看出短链接相对成链接来说更加的短小,显得更加的美观. 安全性,长链接可能会携带一些参数,例如http://xxx.xxx.xxx?id=1¶m1=san,我们能够轻松的看出,该url采用的是 get的方式,同时也能看出请求了哪些参数.然而短链接http://t.cn/RNGQRUJ,我们只

短网链接-用java后台处理手机端长网址变短网址功能的实现

问题描述 用java后台处理手机端长网址变短网址功能的实现 1)情景: 用户在手机上浏览某个网页的时候,觉得不错,想分享给好友,点击分享后,对应的网址填充到了文本框里面,但是分享的内容字数有限制,如果分享的网址过长,那么用户可能就写不了几个字了,这时候需要我们实现一个功能,将这个长的地址转化为短网址,再进行分享. 2)要求:在后台用java写一个接口,来处理手机端要分享的长地址,实现网易 126.am的短地址功能,也就是网易api中长地址变短地址的功能 这个接口该怎么写呢? 网易变短网链接网址:

长连接和短连接

1.TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接 时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的 经典的三次握手示意图: 经典的四次握手关闭图: 2. TCP短连接 我们模拟一下TCP短连接的情况,client向server发起连接请求,server接到请求,然后双方建立连接.client向server 发送消息,s