Google C++规范
从微博中得知,Google的C++编码规范已经公开了,具体链接在http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
虽然已经几年不用C++做生产编码了,看起来依然这么亲切,有国内的同学已经译成了中文,幸事!http://yangyubo.com/google-cpp-styleguide/
规范有时候和性能是一致的,有时候是敌对的,平衡点很重要。
例如,在Web前端优化中,代码精简是重要的一环。开发人员以清晰可读的规范编写了代码,然后通过精简工具部署到web服务器中,浏览器最后收到的http响应中都是精简或者混淆之后的代码,可读性极差。当然,这种可读性极差的代码可以显著缩小传输文件的规模,提高web性能。开发人员还可能处于安全的考虑,对代码精简混淆,不希望用户看到页面的脚本。
示例,Google首页的第一段脚本(经过了换行和空格整理):
window.google={
kEI:"8yVvTeObBMqtrAe879z_Dg",kEXPI:"27754,29013,29054",
kCSI:{e:"27754,29013,29054",ei:"8yVvTeObBMqtrAe879z_Dg",
expi:"27754,29013,29054"},
ml:function(){},
kHL:"zh-CN",
time:function(){
return(new Date).getTime()},
log:function(c,d, b){
var a=new Image,e=google,g=e.lc,f=e.li;
a.onerror=(a.onload=(a.onabort=function(){delete g[f]}));
g[f]=a;b=b||"/gen_204?atyp=i&ct="+c+"&cad="+d+"&zx="+google.time();
a.src=b;e.li=f+1},
lc:[],
li:0,
Toolbelt:{}
};
window.google.sn="webhp";
var i=window.google.timers={};
window.google.startTick=function(a,b){
i[a]={t:{start:(new Date).getTime()},bfr:!(!b)}
};
window.google.tick=function(a,b,c){
if(!i[a])google.startTick(a);
i[a].t[b]=c||(new Date).getTime()
};
google.startTick("load",true);
try{
window.google.pt=window.external&&window.external.pageT;
}
catch(v){}
window.google.jsrt_kill=1;
var _gjwl=location;
function _gjuc(){
var b=_gjwl.href.indexOf("#");
if(b>=0){var a=_gjwl.href.substring(b+1);
if(/(^|&)q=/.test(a)&&a.indexOf("#")==-1&&!/(^|&)cad=h($|&)/.test(a)){
_gjwl.replace("/search?"+a.replace(/(^|&)fp=[^&]*/g,"")+"&cad=h");
return 1
}
}
return 0
}
function _gjp(){
!(window._gjwl.hash&&window._gjuc())&&setTimeout(_gjp,500)
};
window._gjp && _gjp()