css长命名可以带来好多好处:
1)有命名空间般的作用,不用为命名冲突担心;
2)选择符权重低了,在层叠时容易被覆盖,不用为了获得高权重而不停地加长子孙选择器,形成恶性循环越加越长;
3)少使用子孙选择器可以让css更好的和html结构解耦,在抽取css模块时更好地保持独立,不依赖其他模块和html结构,在多人合作时,特别是模块需要给别人复用时,特别安全,易用。
我暂时还没遇到css长命名带来的坏处,所以私以为这是种最好的实践了。
less这种东西我兴趣不大,感觉那是程序员的玩具,想通过编程方法跨界解决css问题。可是css该面临的问题一个也少不了,只是增加了一个编译过程而已,玩法变得更高级了,但降低了自己对最终代码的控制力,类似java和c的关系。更要命的是提高了门槛,首先是上手门槛,其次是维护门槛,再来是团队整体水平和规范的门槛。水平高的个人玩玩无妨,可是大规模推广真心不看好。
从PHP简单的语法称霸Web server编程,html战胜xmI成为网页标记语言,json格式淘汰xml格式成为接口的主流格式,ES5淘汰ES4等等等等,事实一再表明门槛越低越能生存下来。再看看咱前端吧,js库中,YUI,Dojo,Ext哪一个不比jQuery强大数倍,可是jQuery却赢了,其接口甚至直接上了新版的犀牛书。门槛需要简单到什么程度才会被广泛接受,是远低于你想像的。