Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

用多行注释快包裹代码的风格

  webpack 生成的文件内容看似非常诡异,其中有大堆用多行注释快包裹在两端的代码。这些代码虽然被多行注释块包裹着,但并没有被注释掉。第一次看到这种注释风格时我就非常费解干嘛要搞一坨这么恶心的东西。现在想想,这么搞有些时候确实会让代码舒服许多。
  在写原生 js 时为了避免把局部变量定义到全局上,我们会在所有代码外套一个匿名函数。比如这样 void function() {
  var a = 1;
  console.log(a);
}();
  那么问题来了。加上这个匿名函数包后,里面的所有代码都得多一层缩进,这会让代码看起来嵌套地更深。所以有些代码为了避免这无意义的缩进,直接把这个匿名函数和主要代码之间加了几个空行,然后把缩进去掉。比如这样 void function() {

var a = 1;
console.log(a);

}();
  但我还是觉得这种写法太恶心,实在难以忍受。直到我看到 webpack 生成文件的注释风格才明白原来还可以这么玩! /**/ void function() {
var a = 1;
console.log(a);
/**/ }();
  这简直颠覆了我对「缩进」的理解。缩进不仅可以是 0 到 n 个空格,也可以是其它东西。把这种以多行注释开头的东西视为另一个维度的「缩进」就毫无违和感了!如果代码高亮可以针对这种风格的缩进使用另一套配色方案就更棒了。
  其实经常会出现一些为了浏览器兼容而写的代码,我觉得这些代码也丢到这种缩进风格中就不会影响正常逻辑的阅读。比如这样 /**/ try {
element.addEventListener('click', handler);
/**/ } catch(error) {
/**/   element.attachEvent('onclick', handler);
/**/ }
  如果 IDE 提供一个隐藏这种缩进风格代码的开关,那就可以在阅读代码逻辑时隐藏掉一堆干扰代码,使代码更加整洁易读。当然上面的例子并不好,因为绑定的兼容处理通常是框架内就搞定的,不用我们手写这么风骚的代码。这是只是作为一个例子,请轻喷。
网名:
54.226.58.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^