Web 技术研究所

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

问君注释何时写

  好多人没有写注释的习惯?这很正常嘛!不要把写注释当做一种习惯,那样会写出一堆无聊的注释,写出来的注释比代码还难读。把注释当做代码的一部分,比养成写注释的习惯要好得多。甚至有时候我都不以注释的形式,直接用字符串的形式把关键问题描述到代码里。
  首先要明确一个问题,干嘛要写注释?注释写给谁看?很多人觉得注释是写给别人看的,而且写注释麻烦,这麻烦的事情还是让别人去做吧。于是洋洋洒洒几千行代码没有一行注释。之后根本没有人想维护这一坨代码,别人见到了可能就直接重构了。自己可以也会因为几个月后看不懂自己以前的代码而选择重构。所以说,注释并不是写给谁看的,而是代码的一部分。可能是写给别人看,也可能是写给未来的自己看。
  那么什么时候应该写注释?有非常不爱写注释的人,当然也就有非常热爱写注释的人。它们每行代码都注释比如 // 如果 a 大于 2 if(a > 2) { // 输出 a console.log(a); }   这么注释不完全等同于废话么?不要去翻译编程语言。有些编程语言是少符号的,本来就长得像自然语言,再翻译根本没卵用,比如下面这个 VBS ' if a > 2 then fuck a if a > 2 then fuck a   如果注释用英文的话和编程语言完全一样。这种注释多了反而影响代码量,影响代码阅读!
  我觉得,只有在需要时才写注释。或者说当写了一段自己将来可能会看不懂的代码时才写注释。比如一个复杂的正则,或者一段非常违反直觉的代码等。比如 // 匹配同时存在 a、b、c 三个字母的任意组合 if(/^(?=.*a)(?=.*b)(?=.*c)/.test(input)) { // ~ }   又或者是遇到一些坑时注释一下,比如 // 解析 JSON 可能失败,所以放入 try-catch 中 try { return JSON.parse(data); } catch(error) { return {}; }   因为别人可能看到这些奇奇怪怪的代码不知道在干什么就手贱把它删掉了。
  最后是一些非常关键注释,我可能会这么写 if('这段代码可能是违反逻辑的,但必须存在,否则会导致 xxx') { this.parent = this; }   这时候不用语言自带的注释,直接以字符串方式描述到代码里。这些代码可能不会被压缩掉,但我相信这样的代码不会太多(如果太多就该重构项目了)。它们可能是产品经理挖的坑,让开发不得不写出一些违反大自然规律的代码。
  注释起到了一个警示牌的作用   在程序开发过程中挖坑是在所难免的,在所有的坑上都加以注释(无论这些坑是自己挖的还是别人挖的),避免下次有人掉进坑里(也许是自己再次掉进坑里)才是注释最伟大的地方。
网名:
3.80.32.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^