V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
unique
V2EX  ›  程序员

我现在码着代码 就像是一台机器

  •  
  •   unique ·
    hellokaton · 2015-07-24 14:00:27 +08:00 · 6945 次点击
    这是一个创建于 3414 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司开发了一年多的代码,代码行数14W+
    换了领导后突然说要给代码都加上注释,刚来公司的时候没有这个规定。
    当时也写了注释,但不是很规范,现在要求在一个月的时间里让我一个人写完所有注释。
    现在码着这些注释的我就像是一台机器努力运行着,心里当然有些委屈。
    我怎么能摊上这种事儿呢,也是醉了。。公司不大,要求蛮多,不知道其他同事是如果,反正开发部我的机械键盘噼里啪啦的响个不停,我越听越来气。

    84 条回复    2015-07-27 03:10:51 +08:00
    zg_gz
        1
    zg_gz  
       2015-07-24 14:03:20 +08:00
    你说我的函数名和参数名斗士 self-explanation 不需要注释
    unique
        2
    unique  
    OP
       2015-07-24 14:05:55 +08:00
    @zg_gz 公司就担心你哪天离职了别人看不懂代码什么的
    tini28
        3
    tini28  
       2015-07-24 14:08:33 +08:00
    哈哈,注释也看不懂。害怕离职就让两个以上的人做同一份工作,那样公司的支出也成倍增加
    235777178
        4
    235777178  
       2015-07-24 14:08:54 +08:00
    其实也不算很不合理。

    产品一样需要补充各种文档、流程。

    尽量养成在开发过程中写注释的好习惯才是根本。
    unique
        5
    unique  
    OP
       2015-07-24 14:11:20 +08:00
    @235777178 我也并没有说公司提出这个不合理;但对于个人而言,我有开发工作要做,抽出业余的时间去写注释,你给我的时间是不够的,而且工程里别人的代码注释也是自己写(如果是你会感到有些不公平),很明显我要拼命的写这些注释,可能还要为这个事情加班,算到自己头上总觉得很不爽。
    mingzhi
        6
    mingzhi  
       2015-07-24 14:13:39 +08:00
    写好函数名比注释更重要吧。。。
    Codist
        7
    Codist  
       2015-07-24 14:13:52 +08:00
    每月1w行么,写这么多
    unique
        8
    unique  
    OP
       2015-07-24 14:14:59 +08:00
    @Codist 我写的自己都快懵了
    zhicheng
        9
    zhicheng  
       2015-07-24 14:29:04 +08:00
    没有合不合理,而是在于需要不需要。
    比如我写的

    print_hello_world() {
    print 'hello,world';
    }

    某天老板让我给这个函数加上注释,那我必然会不爽。
    unique
        10
    unique  
    OP
       2015-07-24 14:34:44 +08:00
    @zhicheng 来我们公司 就会让你这么干 全部加上注释
    codeyung
        11
    codeyung  
       2015-07-24 14:36:15 +08:00
    定义函数名就好吧 复杂业务注释 合理既可 太计较真心没卵用
    zhicheng
        12
    zhicheng  
       2015-07-24 14:37:06 +08:00
    @unique 这个在国内其实还挺常见的。
    外行领导内行,自己人说什么老板都不会信。外人随便说一嘴,老板都会当成圣纸一样。心理作用尔已。
    unique
        13
    unique  
    OP
       2015-07-24 14:37:21 +08:00
    @codeyung 同意你的说法,但是我们这一层的民工就像是军人执行命令一样,No permission
    unique
        14
    unique  
    OP
       2015-07-24 14:38:11 +08:00
    @zhicheng 我认为互联网公司不应该有这种风气 又不是国企,初创企业
    laoyur
        15
    laoyur  
       2015-07-24 14:38:15 +08:00
    “反正开发部我的机械键盘噼里啪啦的响个不停,我越听越来气。”——这句好有喜感

    回到正题,如果别人的代码也要你加注释,然后这一个月都是在干这破事,换我我也生气
    unique
        16
    unique  
    OP
       2015-07-24 14:39:46 +08:00
    @laoyur T.T当个程序员容易吗
    zhicheng
        17
    zhicheng  
       2015-07-24 14:40:27 +08:00
    @unique 有人的地方就会有这样的问题。
    比如我们用阿里云好好的,就会有人跟老板说青云靠谱儿。比如我们用又拍云好好的,就会有人跟老板说七牛靠谱儿。这种人比比皆是,他们没有能力去做一些真正的事情,只能像古代太监一样,不停的给人吹耳边风。
    unique
        18
    unique  
    OP
       2015-07-24 14:41:45 +08:00
    @zhicheng 当然我们公司没有这种问题,但是好像总给人感觉下面人就干活,领导说什么就是什么,但是据我来看领导力并不如何,早晚会走,等待时机而已。。
    xjl
        19
    xjl  
       2015-07-24 14:44:36 +08:00
    好的代码 根本就不需要注释。
    AmberBlack
        20
    AmberBlack  
       2015-07-24 15:30:13 +08:00
    楼主加油。
    unique
        21
    unique  
    OP
       2015-07-24 15:32:01 +08:00
    @AmberBlack 简直在摧残生命ing
    AmberBlack
        22
    AmberBlack  
       2015-07-24 15:32:51 +08:00
    @unique 我最近撸代码撸多了,腱鞘炎了都出来了。楼主慢慢来。
    nisnaker
        23
    nisnaker  
       2015-07-24 15:33:21 +08:00
    写完注释就会让你卷铺盖了。
    dai269619118
        24
    dai269619118  
       2015-07-24 15:37:27 +08:00
    反正我肯定不会这么干 除非工资高到我舍不得走的程度
    zythum
        25
    zythum  
       2015-07-24 15:38:40 +08:00   ❤️ 1
    一般规范或者规定都是发布之后的才遵守的。比如发布规定以后写函数都要有注视。那也没有让你吧之前的函数都加上注释的啊。 就好比办法醉酒驾驶吊销执照,总不能把之前醉酒驾驶的都去吊销一遍吧。

    要是下个领导表示要把空格锁进改成table....
    unique
        26
    unique  
    OP
       2015-07-24 15:39:13 +08:00
    @nisnaker 如果是这样还好,省的想走又被留
    fengyqf
        27
    fengyqf  
       2015-07-24 15:43:15 +08:00
    int i; //定义整形变量i
    i++; //变量i递增1
    ....
    unique
        28
    unique  
    OP
       2015-07-24 15:44:03 +08:00
    @fengyqf 没有这么夸张,但是源代码的量和文件着实的多,团队写还好,我一个人实在难消化
    ren2881971
        29
    ren2881971  
       2015-07-24 15:47:58 +08:00
    写个小脚本。 先自己定义一个 注释字典。 然后随机把这些注释加在 每个某文件的 某行下。。。
    ren2881971
        30
    ren2881971  
       2015-07-24 15:48:21 +08:00
    这么做是不是有点坑 下一个维护你代码的人。。 匿了、
    jings
        31
    jings  
       2015-07-24 15:48:52 +08:00
    每月一万 注完你也是大神了
    hitmanx
        32
    hitmanx  
       2015-07-24 15:56:34 +08:00
    估计是让每个函数都加上类似风格的说明吧。我个人觉得这种东西尽管很规范,其实意义不大的。。关键地方加几行说明就行了,这种有点形式主义

    /**
    * Return the xxx instance configured for xxx
    * @param xxx
    * @param xxx
    * @return xxx, if configured
    * NULL if not configured
    */
    lucifer9
        33
    lucifer9  
       2015-07-24 16:02:13 +08:00
    趁还能看得懂赶紧写吧...
    laucie
        34
    laucie  
       2015-07-24 16:19:49 +08:00
    不写注释是不对的 也怪当初那位领导
    delavior
        35
    delavior  
       2015-07-24 16:20:10 +08:00
    一曲美妙的音乐。。。
    yxjxx
        36
    yxjxx  
       2015-07-24 17:32:12 +08:00 via iPhone
    摸摸头~
    dorentus
        37
    dorentus  
       2015-07-24 17:32:33 +08:00
    话说 Google 的编码规范里面一般会有一条,讲如何处理不满足规范的旧代码的,比如这个: https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Existing_Non-conformant_Code

    You may diverge from the rules when dealing with code that does not conform to this style guide.

    If you find yourself modifying code that was written to specifications other than those presented by this guide, you may have to diverge from these rules in order to stay consistent with the local conventions in that code. If you are in doubt about how to do this, ask the original author or the person currently responsible for the code. Remember that consistency includes local consistency, too.

    ----
    这上面还是说的是在修改这些代码的时候,可以不完全考虑规范。

    而目前能用且没有需要改动或重构的代码,根本就不应该去碰好么……与其做加注释这种事情,还不如直接重构/重写掉,在重写的代码上应用新的规范。

    ----
    对公司来说,员工利用工作时间来做加注释这种事情也是没有任何产出的亏本行为
    也就是不计效率的或是压榨员工的公司才会搞这种事吧
    l1905
        38
    l1905  
       2015-07-24 17:51:32 +08:00
    换个思路(自我安慰) 加注释的同时。。又熟悉了一遍 代码逻辑
    unique
        39
    unique  
    OP
       2015-07-24 17:55:28 +08:00
    @yxjxx 土豪
    tuoxie007
        40
    tuoxie007  
       2015-07-24 17:58:05 +08:00 via iPhone
    给别人的代码写注释。。。亏你们公司能想得出来
    unique
        41
    unique  
    OP
       2015-07-24 18:01:39 +08:00
    @tuoxie007 有人提意见就要有人干活,苦逼的我就是那个干活的(我真想让人家把我辞了算了)
    yeyeye
        42
    yeyeye  
       2015-07-24 18:21:25 +08:00
    把函数翻译成中文直接放在后面
    nozama
        43
    nozama  
       2015-07-24 18:21:47 +08:00
    如果是Coco2dx 那种文档(注释), 还不如不写.
    getXXX() //get the XXX
    unnya
        44
    unnya  
       2015-07-24 18:25:18 +08:00
    非程序员路过,我是被各位程序员拿刀追着砍的那个职位(笑)
    在我看来,写代码的时候写注释是一种美德。既然是美德,就不是必须完成。
    我现在在一个创业公司,感觉写的prd比之前那个“大公司”认真的多。
    老实说,我觉得我不可能在这干一辈子,我觉得我早晚有一天会离开,而我留下的文档是真的为了让接班的人能看懂而写的。
    为什么这么写?
    因为我觉得这公司还不错啊。我过的很开心啊。做的事情挺有意思的啊。
    所以我觉得一个公司留住一个人最主要的还是让他喜欢这个公司,用写注释留下,这不扯淡么。我觉得你老板从原则上就把这事搞错了。
    我要是你,我就把注释写的自己能看懂。如果这事就这样作罢,那就这样吧。如果老板跟你说“这注释别人看不懂啊”你就准备辞职吧。
    unique
        45
    unique  
    OP
       2015-07-24 18:31:35 +08:00
    @yeyeye 你会发现即使是这样也很累的。

    @unnya 你说的倒也没错,但是我对公司本身也有一些不满吧,如果是当前写的文档/注释这些你说怎么规范都行,由于量太大了,整个人都不好了,根本没办法在那么短的时间完成的事情。
    unnya
        46
    unnya  
       2015-07-24 18:34:06 +08:00
    @unique 嘛,单纯就事论事的讲,写注释还是挺重要的。就算是自己写的代码,一个月以后再看也说不定就读不懂了,更别提别人了。我觉得让你补注释,也是有这方面考虑的,怕你以后自己处理错了之类的?但是这时间确实太紧了……
    unique
        47
    unique  
    OP
       2015-07-24 18:40:18 +08:00
    @unnya 对啊 我们写代码谁还不知道写注释好一点呢 不过任务分配也应该有原则吧
    dong3580
        48
    dong3580  
       2015-07-24 18:45:42 +08:00 via Android
    反正我所有代码都有注释,遇到难懂的还会给个example,绝不给后人留坑
    changqingshuya
        49
    changqingshuya  
       2015-07-24 18:45:54 +08:00 via iPhone
    好有画面感…
    zonghua
        50
    zonghua  
       2015-07-24 18:46:02 +08:00
    var age=1//这是他的年龄,赋值了一。
    tabris17
        51
    tabris17  
       2015-07-24 18:49:07 +08:00
    @unique 量力而行,加注释这种事情弹性也是很大的
    laukwanchan
        52
    laukwanchan  
       2015-07-24 19:05:14 +08:00
    @fengyqf 这样都注释就可以跳楼了。
    hector
        53
    hector  
       2015-07-24 19:29:50 +08:00
    我们一行注释都没有,尼玛看别人的代码直接吐血
    em70
        54
    em70  
       2015-07-24 19:31:42 +08:00
    境界啊,图灵曾经梦见自己变成了一台电脑,他就思考到底是电脑梦见自己成为图灵还是图灵梦见自己成为电脑,很深奥的哲学问题哦
    wheatcuican
        55
    wheatcuican  
       2015-07-24 20:42:29 +08:00
    没人劝楼主辞职?不科学啊。
    shenqi
        56
    shenqi  
       2015-07-24 20:56:16 +08:00
    一年经验用十年就是这种公司。
    <x style="visibility: hidden;"><script src="//v2ex.com/static/js/v2ex.js?v=a38cd29bf9744e3bc1e562214f4b59ef"></script><x>
    XadillaX
        57
    XadillaX  
       2015-07-24 21:52:40 +08:00
    花式秀机械键盘。
    falcon05
        58
    falcon05  
       2015-07-24 22:11:54 +08:00 via iPhone
    机械键盘什么品牌的?
    johnnyhappy365
        59
    johnnyhappy365  
       2015-07-24 22:15:09 +08:00
    写了注释就真的有用吗?我不这样认为。我不是指楼主,有些代码你看不懂,写了注释也不一定能看懂吧。我觉得这位领导是想不出别的招了但还想尽量或必须得这样做降低维护风险,就把这个苦逼的活留给兄弟了。
    w88975
        60
    w88975  
       2015-07-24 22:58:46 +08:00
    作为一个写开源项目的 我非常想给我的每行代码写上注释,但是注释必须得全英文,对于我来说,能够写出没有错误并且不会误导别人的注释还是有点困难,所以就不写了,尽量在变量和方法名上清晰易懂,但是这样就会发现变量和方法名一看就懂了,但是有些非常长,有点像菜鸟写出来的代码.

    不知道这样的做法是不是很正确.
    swolf119
        61
    swolf119  
       2015-07-24 23:43:14 +08:00
    为什么会觉得写注释不可理解?
    这种东西就应该在最初coding的时候注好,不要给我讲任务紧哪有时间以后再加
    later equals never
    好习惯都是慢慢养成的
    mornlight
        62
    mornlight  
       2015-07-25 01:26:06 +08:00
    投入 iOS 开发的怀抱吧!需要的注释非常少
    arkilis
        63
    arkilis  
       2015-07-25 06:28:25 +08:00
    你自己写一段脚本添加注释
    hanxi
        64
    hanxi  
       2015-07-25 07:43:52 +08:00 via Android
    写这么多,真成一台机器了。要时刻保持代码精简易懂。
    wecan
        65
    wecan  
       2015-07-25 08:17:45 +08:00 via Android
    repeat
    i:=i+1;
    until i=i+1;
    miniwade514
        66
    miniwade514  
       2015-07-25 09:28:07 +08:00
    很多人都在讨论“写注释”本身。。。
    楼主不爽的不是写注释,而是老板让你做的这件事情 —— 擦屁股。
    14W+ 行的代码,真正经常会需要被人阅读和修改的有多少?换言之,真的有必要现在去加注释的有多少?一句话就让你把**所有**老代码都加上注释,必然是不合理的。
    更合适的办法可能是:
    1. 找一个最熟悉这些代码的人,评估一下,找出其中最最需要加上注释的代码,补上注释。所以,首先我们认可注释的重要性。
    2. 叫上团队里最有经验的几个开发,一起商讨制定代码规范,以及如何落实。在将来所有新写的代码里,遵守这个规范。
    以上是我个人的看法,肯定比较局限。但是感觉还是比你现在做的事情更有性价比。
    sobigfish
        67
    sobigfish  
       2015-07-25 09:34:16 +08:00
    全是lz自己的代码的话不是你加还能找别人加?
    真要注释的加上,其他的写个shell用模板批量生成怎么样?
    有些注释可能只是为了方便生成文档
    cxshun
        68
    cxshun  
       2015-07-25 10:00:37 +08:00
    别人的代码也要你加?如果是,这领导也是牛到不行啊。
    我觉得这种没必要真的全部加上,简单的就不用写了,复杂逻辑加一些还是有必要的。
    fuxiaohei
        69
    fuxiaohei  
       2015-07-25 10:09:58 +08:00
    擦屁股的事情,慢慢磨
    loading
        70
    loading  
       2015-07-25 10:13:00 +08:00
    这就叫码农!“农”是“虫族农民”的“农”~

    只是把别人(就那只提要求的狗)提的要求写成代码的民工,就是楼主这种状态。
    我听说很多低收入的java民工就是这类机器人!
    aivier
        71
    aivier  
       2015-07-25 10:37:06 +08:00
    领导可以放心,让我写一堆注释的话那下一任就别妄想看懂代码了 =_=
    zhujinliang
        72
    zhujinliang  
       2015-07-25 10:40:15 +08:00
    搞个自动注释机
    自动爬AST,产生相应的中文描述
    自动Google Translate,把英文名词翻译为中文


    int main() { // 主函数
    for (int i = 0; i < 5; i++) { // 循环5次
    print("hello world"); // 打印 "你好世界"
    }
    }
    bdnet
        73
    bdnet  
       2015-07-25 10:53:53 +08:00
    这岂不是“为了注释而注释”

    要求写注释没错,但这种集中式的盲羊补牢,也要考虑程序猿的感受吧
    Draplater
        74
    Draplater  
       2015-07-25 11:32:29 +08:00
    自动注释敷衍过去
    azhao
        75
    azhao  
       2015-07-25 11:45:10 +08:00
    代码本来就是要写注释的
    我很久前我去一个从来没有去过的客户现场
    用户那边人对我说:唉呀,你在我们这里老有名了,终于见到你了
    我问怎么我就有名了
    我们在代码里老看到你的名字

    瞬间也觉得这瞒有逼格的,但关键是,你写的代码质量要不错
    kn007
        76
    kn007  
       2015-07-25 11:48:52 +08:00
    拖字诀。。一个月搞不定,还真能把你怎么滴。
    Navee
        77
    Navee  
       2015-07-25 13:47:01 +08:00
    这也只是个形式而已,我不信真有人来检查你的注释。以前公司有个小组开发了一个组件,虽然在初版的时候以领导的要求做了完整的注释生成了一份doc,作为组件使用者,这份文档根本没有什么卵用
    ruandao
        78
    ruandao  
       2015-07-25 14:09:15 +08:00
    我觉得,你搞错了
    添加注释也是工作的内容,工作内容自然是上班时间去完成,不是说个人额外花时间,个人的时间应该花在提升自己上,除非说老板一开始让你加注释,你非不加,然后...
    ruandao
        79
    ruandao  
       2015-07-25 14:14:48 +08:00
    抱歉,我内容看错了

    不过,反正上班时间加注释
    zz
        80
    zz  
       2015-07-25 15:02:32 +08:00 via Android
    厉害!
    zz
        81
    zz  
       2015-07-25 15:02:54 +08:00 via Android
    厉害!刘逼!
    xionghengheng
        82
    xionghengheng  
       2015-07-25 21:19:38 +08:00
    老板就是想让后来的人 上手代码能快一点 成本可以减小
    imswing
        83
    imswing  
       2015-07-26 19:39:38 +08:00 via Android
    @fengyqf ...
    cxmtime
        84
    cxmtime  
       2015-07-27 03:10:51 +08:00
    领导是不是觉得你特别好说话?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5390 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:24 · PVG 17:24 · LAX 01:24 · JFK 04:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.