• 秦凯
    2019-01-18
    Code Tells You How, Comments Tell You Why.
    
     32
  • L
    2019-01-18
    要写好注释首先要思考怎么不写注释
    
     9
  • 彩色的沙漠
    2019-01-18
    通过本篇学习,自己写的注释犯了两个错误一是提交了注释掉的测试代码和需求变更后不需要的代码,二是使用了TODO提醒自己,写完之后没有删除。
    老师最后讲的五种风格,第三种风格和第四种风格有什么区别,只发现了颜色区别,其他的一样

    作者回复: 第三种风格和第四种风格区别在方法的命名上。嗯,不太容易看出来。

    
     4
  • 有渔@蔡
    2019-03-01
    尽量不写注释,尽量用代码告诉别人我的思想。注释用来写代码无法表达的东西,比如我当时为什么这么写,其他想法等。
    
     2
  • Being
    2019-01-18
    建议注释用英文,确实,中文注释还不好排版。关键是团队建议用中文,好无奈,而且写着写着还要切换输入法
    
     2
  • 唔多志
    2019-11-08
    不要在源代码里记录代码历史,那是代码版本管理系统该干的事情。有时候需求变更,一些程序员会把之前的代码注释掉,觉得如果 PM 脑回来,某一天就换回来了,就避免重复写了。这样做会有一个缺点,就是如果其他程序员接手了这份代码,不了解上下文,不知道注释调的代码是干嘛的,也不敢删,这份注释的代码就像僵尸进程一样,一直存在代码中。
    
     1
  • 攻城拔寨
    2019-01-27
    在代码写TODO已成为团队的习惯

    作者回复: 嗯,曾经常用的标记。有些人还保留了这个习惯,并且传承了下来。

    
     1
  • 如摄
    2019-01-24
    作为前端人员买了这个专栏,收获也不少……
    能不能针对js讲一个课程。

    作者回复: 这是个好主意!

    
     1
  • Sisyphus235
    2019-05-22
    留言区没有人讨论课后题,我抛砖引玉下。注释就像文中所说,准确、必要和清晰最重要,也就是说在不同的团队同一段代码的注释会不同,因为团队能力不同。这里我试着用比较完整的方式做一段注释,如果团队能力好,一些部分是可以省略的

    import java.util.HashMap;
    import java.util.Map;

    class TwoSumSolution {
        /**
         * Given an array of integers, return indices of the two numbers
         * such that they add up to a specific target.
         */

        public int[] twoSum(int[] nums, int target) {
            // init a map storing number and its index relation
            Map<Integer, Integer> map = new HashMap<>();

            for (int i = 0; i < nums.length; i++) {
                // calculate the complement of current number
                int complement = target - nums[i];
                // if map contains the complement, return complement directly, else update map with current number
                if (map.containsKey(complement)) {
                    return new int[] { map.get(complement), i };
                }
                map.put(nums[i], i);
            }
            
            // if the sum of any two numbers is not equal to the specific target, throw illegal argument exception
            throw new IllegalArgumentException("No two sum solution");
        }
    }
    展开

    作者回复: 👍

    
    
  • 卞雪达
    2019-05-14
    如果一段代码不再需要,我会清理掉代码,而不会保留这个注释掉的代码块。
    --我简直不能再同意了,我曾因为错误的注释代码而导致十几万的损失,我那时候测试分支特别喜欢用注释代码的方式,因为在一个文件甚至方法里复制并注释两下,是很快能达成一个分支的。这种错误的习惯一旦养成,隐患大大滴。正如您说的,这种情况应该使用版本控制。切换的时候,应该切换不同版本的文件。确定的分支如判断开发环境或生产环境,我喜欢用配置文件…应该,是受到前端套路的影响,你知道各种前端框架都喜欢isDev,我慢慢的…觉得好像还不错…

    作者回复: 我可能要极端一点,配置文件可以,但是判断是开发环境还是生产环境的,然后使用不同分支的代码不应该出现,也是一大堆的问题。

    
    
  • 10rina-f
    2019-04-10
    刚开始工作的时候,自己写了一段代码(没有什么注释),过来一段时间,自己维护的时候花了很多时间来读自己的代码。。。深刻明白了注释的重要性(虽然当时代码写的不好也有一部分原因)

    作者回复: 是的,自己也是未来的阅读者之一。

    
    
  • 老吴
    2019-02-21
    建议英文 ,但是我们团队都是第二种,我们英语水平一般

    作者回复: 第二种也是很好的。

    
    
  • 北风一叶
    2019-02-20
    我从来没在注释里用过{code userName}这样的用法,以后需要改进

    作者回复: 嗯,防止指代不明。

    
    
  • 小文
    2019-02-15
    还是喜欢中文,文中的indices就不知道啥意思,翻译后才知道是指数,有时候看英文注释个别单词不认识很郁闷😒

    作者回复: 随着视野的不断扩张,早晚会习惯英文的。

    
    
  • 峰人院
    2019-01-24
    第三四五种不用是因为用了拼音吧🤣,第五种注释有问题,注释没有完结的 /,后面的代码都不能用啦,谢谢老师指点

    作者回复: 嗯,我漏掉了尾部注释符号这一行。 谢谢!

    
    
  • 虢國技醬
    2019-01-20
    打卡
    
    
  • 草原上的奔跑
    2019-01-18
    老师最后留的题看半天才发现是返回两个数的索引,这两个数的和为target,若不存在,则抛出异常,方法的注释应该把异常抛出的情况也讲出来,同时,注释中的indicate感觉改为index更好理解。

    作者回复: 练手题的注释缺了很多注释,难以理解。已经有的注释,使用的也不规范。你找到的两个都是很好的改进。

    
    
  • Demon.Lee
    2019-01-18
    老师,如果我有一个函数,只是先写了一个空函数(类似于定了一个接口),这个时候我会写个注释说待完善,感觉是不是也不能写了?我感觉这有点类似于警告的性质,就是说提醒开发者,后续要注意

    作者回复: 空函数有人使用吗? 没人用要删掉,有人用函数的功能要清楚。

    有的时候,的确需要一些提醒类的东西,但是要标记清楚问题,不要含混。 要不然,一旦忙起来,忘记了修改,以后自己看到都记不起来了。OpenJDK的代码里就有不少这样的失误,改起来很费精神,要校对注释和代码,比重写一遍都麻烦。

    当然,代码没提交之前,特别是编码和调试的时候,可以多用些注释提醒下。我一般会把这样的注释和代码,顶格些,提交之前浏览下,这样就不容易忘记删除了。

    
    
  • 王智
    2019-01-18
    心酸,被打击到了,表示毕业半年,在校英语就不好,现在依旧,看到要用英文写注释表示头疼,一直想学好英语但不知道从哪里下手,看来下去得多尝试尝试英语了,增强一下英语水平,不然就只能使用idea的插件进行翻译了,(╥╯^╰╥)!!!

    作者回复: 写代码的,那么多的英文文献要看,英文想不好都不太容易。时间长点,就适应了。

    
    
我们在线,来聊聊吧