多程序员开发老是写重复的代码大家又遇到吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
irisLi

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

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

    重构吧,少年。

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

    突然想起那张图, good design 又不会给你加工资。。
    strwei
        21
    strwei  
       Jul 4, 2016
    不要怜惜那些屎一样的代码,该重构时就重构
    shot
        22
    shot  
       Jul 4, 2016
    sonarqube, checkstyle, findbugs, ReSharper, eslint, ...
    aprikyblue
        23
    aprikyblue  
       Jul 4, 2016 via Android
    重构哪里可以方便添加功能,那就重构哪里。。
    当然,重构前后做好测试。。不然改出 bug 背锅可不好
    SoloCompany
        24
    SoloCompany  
       Jul 4, 2016
    不要舍不得删
    pagict
        25
    pagict  
       Jul 4, 2016
    说明该重新设计了
    mingyun
        26
    mingyun  
       Jul 4, 2016
    员工变动频繁,老代码不敢动,只能往上加
    georgema1982
        27
    georgema1982  
       Jul 5, 2016   1
    楼上很多说因为没有 review 的根本就不知道自己在说什么。 review 不会解决代码重复的问题,因为 reviewer 可能不知到 review 的代码复制自其它地方,有些极端情况下,在设计 solution 的时候得出的共识就是复制粘帖代码,然后修改。这样做无非是因为害怕重构代码会带来 bug 。所以这种事情不是体现了 review 的重要性,而是体现了单元测试的重要性!
    naver1
        28
    naver1  
       Jul 5, 2016
    难道不是一段代码重复写才会提高熟练度吗
    lovedboy
        29
    lovedboy  
       Jul 5, 2016
    找到了同一个 stackoverflow 页面吗? 2333
    sampeng
        30
    sampeng  
       Jul 5, 2016
    会怀孕么。。。?
    明显不会。。管他干蛋。。。
    About     Help     Advertise     Blog     API     FAQ     Solana     837 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 100ms UTC 20:03 PVG 04:03 LAX 13:03 JFK 16:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86