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

多程序员开发老是写重复的代码大家又遇到吗?

  •  
  •   irisLi · 2016-07-04 14:25:31 +08:00 · 7446 次点击
    这是一个创建于 3063 天前的主题,其中的信息可能已经有所发展或是发生改变。
    30 条回复    2016-07-05 17:18:42 +08:00
    kimchan
        1
    kimchan  
       2016-07-04 14:32:26 +08:00
    论代码 review 的重要性
    mumuy
        2
    mumuy  
       2016-07-04 14:33:40 +08:00
    一起维护起一个代码库
    linKnowEasy
        3
    linKnowEasy  
       2016-07-04 14:35:17 +08:00
    写之前, 如果是一个需要消耗较多时间的,先沟通一下, 少的话, 无所谓吧
    murmur
        4
    murmur  
       2016-07-04 14:44:04 +08:00
    我现在维护的东西一份代码复制粘贴复制到了大家四五十个文件里吧 重复度 80%以上~
    luluuulu4848
        5
    luluuulu4848  
       2016-07-04 14:59:33 +08:00
    @kimchan 代码必须要 review 不然时间长了就是一个屎坑
    lzjamao
        6
    lzjamao  
       2016-07-04 15:21:59 +08:00   ❤️ 1
    1. 组长没有去 review
    2. 组内沟通不足。
    3. 太多的话谁敢去改拼这个烫手山 YU 。只怪最开头写的几名程序太赖。
    twoconk
        7
    twoconk  
       2016-07-04 17:18:31 +08:00
    @lzjamao 是不是还加上主动性不够强?
    lovedebug
        8
    lovedebug  
       2016-07-04 17:26:49 +08:00
    不 review 怎么可以?可以搭建 review server 推荐 JetBrains 家的 自用小 team 免费
    lovedebug
        9
    lovedebug  
       2016-07-04 17:27:12 +08:00
    还有函数强制写注释是必需的
    keinx
        10
    keinx  
       2016-07-04 17:27:33 +08:00
    我手头有个代码库,现在都不敢动,一动就各种 bug ,你还没办法修,一修 bug 更多~~~
    repus911
        11
    repus911  
       2016-07-04 17:58:28 +08:00
    review 单元测试和重构
    DevineRapier
        12
    DevineRapier  
       2016-07-04 18:20:12 +08:00
    代码我觉得精简一层就够了,如果你们项目的代码结构很清晰的话。
    zonghua
        13
    zonghua  
       2016-07-04 18:21:15 +08:00
    代码审查
    mhtt
        14
    mhtt  
       2016-07-04 18:51:31 +08:00
    1. 开发需求呢?
    2. code review 呢?
    houshengzi
        15
    houshengzi  
       2016-07-04 18:56:48 +08:00
    我发现公司代码重复率也很高:
    1.没有 review 机制
    2.老员工留下的坑,不能随便动
    3.新员工进来,对整体不熟悉
    4.需求很紧,以完成任务为优先。后续没有进行优化
    sfree2005
        16
    sfree2005  
       2016-07-04 19:57:58 +08:00
    设计阶段也很重要(各种 UML diagrams 和 use case ),因为在设计阶段,应该能看出部分代码逻辑需要重复使用,从一开始就预防。当然,之后还要加上楼上提到的 review 之类的。
    原来的代码重复就重复吧,除非公司给出时间让优化什么的。但新的功能的话 就好好好设计和 review 了
    yjxjn
        17
    yjxjn  
       2016-07-04 20:09:42 +08:00
    @houshengzi 越是越大的公司这种情况越严重,有些公司的采购系统做的跟屎一样,我就不说哪家公司了。。。但是你去看代码,有些逻辑呢,写了 2 遍,你再去看 changelog 的时候,发现这个代码几乎都是>6 手代码。。。。所以很多人宁可去自己再写一遍,而不用 ex 程序员的代码,因为读代码耗时间太多,算下来各种 RISK 和成本都蛮高的( bug 风险,时间成本,经济成本 etc )
    congeec
        18
    congeec  
       2016-07-04 20:18:36 +08:00
    unzip 的源码就这样,一大堆重复的。。。。。嗯,这个是开源的
    loading
        19
    loading  
       2016-07-04 20:23:43 +08:00 via Android
    我自己一个人写都会出这个问题…更何况几个人!

    重构吧,少年。

    要么,别管他…
    broadliyn
        20
    broadliyn  
       2016-07-04 21:30:03 +08:00
    每个程序员追求不一样,有的人写代码只是为了工作,有的人写代码是因为兴趣、热情。再没有 code review 的公司,程序员为了完成任务造点互联网垃圾什么的,太正常不过了。差点的程序已经分不清 controller 、 service 、 dao 有什么区别了,到处都是业务代码。。

    突然想起那张图, good design 又不会给你加工资。。
    strwei
        21
    strwei  
       2016-07-04 21:52:09 +08:00
    不要怜惜那些屎一样的代码,该重构时就重构
    shot
        22
    shot  
       2016-07-04 22:30:36 +08:00
    sonarqube, checkstyle, findbugs, ReSharper, eslint, ...
    aprikyblue
        23
    aprikyblue  
       2016-07-04 23:03:10 +08:00 via Android
    重构哪里可以方便添加功能,那就重构哪里。。
    当然,重构前后做好测试。。不然改出 bug 背锅可不好
    SoloCompany
        24
    SoloCompany  
       2016-07-04 23:04:32 +08:00
    不要舍不得删
    pagict
        25
    pagict  
       2016-07-04 23:26:16 +08:00
    说明该重新设计了
    mingyun
        26
    mingyun  
       2016-07-04 23:28:37 +08:00
    员工变动频繁,老代码不敢动,只能往上加
    georgema1982
        27
    georgema1982  
       2016-07-05 00:38:11 +08:00   ❤️ 1
    楼上很多说因为没有 review 的根本就不知道自己在说什么。 review 不会解决代码重复的问题,因为 reviewer 可能不知到 review 的代码复制自其它地方,有些极端情况下,在设计 solution 的时候得出的共识就是复制粘帖代码,然后修改。这样做无非是因为害怕重构代码会带来 bug 。所以这种事情不是体现了 review 的重要性,而是体现了单元测试的重要性!
    DT27
        28
    DT27  
       2016-07-05 09:15:11 +08:00
    难道不是一段代码重复写才会提高熟练度吗
    lovedboy
        29
    lovedboy  
       2016-07-05 14:07:04 +08:00
    找到了同一个 stackoverflow 页面吗? 2333
    sampeng
        30
    sampeng  
       2016-07-05 17:18:42 +08:00
    会怀孕么。。。?
    明显不会。。管他干蛋。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2634 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:36 · PVG 12:36 · LAX 20:36 · JFK 23:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.