《重构》原来我一直都错误理解了重构的含义 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hikarugo

《重构》原来我一直都错误理解了重构的含义

  •  
  •   hikarugo 2024 年 4 月 6 日 1541 次点击
    这是一个创建于 750 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在看 conventional commits ,里面说到了
    refactor: 用于重构代码,例如修改代码结构、变量名、函数名等但不修改功能逻辑;

    我才发现修改方法内部逻辑是不算重构的,比如一个 a 方法,修改了里面的行为逻辑、数据结构、算法这些都不能算重构。之前我修改内部逻辑提交日志都是写“重构了 a 方法或者 a 模块”,还有 v 友们最典型的“又重构了一坨屎山”,很多情况下应该都是错误的说法,只不过好像大家都习惯了。

    挺纠结是按照老习惯还是约定规范了= =
    BeiChuanAlex
        1
    BeiChuanAlex  
       2024 年 4 月 6 日   1
    feat: 新功能( feature )、新特性
    fix: 修复 bug
    docs: 文档( documentation ),仅修改了文档,比如 README,LICENSE, CHANGELOG, CONTRIBUTE 等
    style: 格式(不影响代码运行的变动,注意不是 css 修改)仅修改了空格、格式缩进、逗号等等,不改变代码逻辑
    refactor:代码重构(即不是新增功能,也不是修改 bug 的代码变动)
    perf: 优化相关,比如提升性能、体验(在不影响代码内部行为的前提下,对程序性能进行优化)
    test: 测试用例的新增、修改,包括单元测试、集成测试等
    revert: 回滚到上一个版本
    build: 影响项目构建或依赖项修改
    ci: 持续集成相关文件修改(构建过程或辅助工具的变动,改变构建流程)
    release: 发布新版本
    workflow: 工作流相关文件修改
    chore: 其他修改(不在上述类型中的修改)例如:增加依赖库、工具等
    kneo
        2
    kneo  
       2024 年 4 月 6 日 via Android   5
    改逻辑,改算法,只要最终代码行为和之前一样,就算重构。

    重构屎山,如果产品行为基本不变,当然也算重构。哪怕内部某些函数的行为大改。只要在更高层次来看,产品行为一致就可以。

    函数改名这种反而是最低级重构。属于术之末端。说不好听点,如果这就是你学习的结果我觉得你还不如不学。
    k9982874
        3
    k9982874  
       2024 年 4 月 6 日 via Android
    别那么矫情,如果你是产品经理当我没说
    weijancc
        4
    weijancc  
       2024 年 4 月 6 日
    你自己都说重构的定义包含修改代码结构, 下面又说数据结构不算, 我建议你先学学语文.
    flyqie
        5
    flyqie  
       2024 年 4 月 6 日 via Android
    都是重构,只是层级不一样,别纠结。

    内部逻辑也算重构,但是对调用方无感。
    duron600
        6
    duron600  
       2024 年 4 月 6 日
    所以说整天把“重构”挂嘴上的,100 个里面估计就 1 个会重构。
    duron600
        7
    duron600  
       2024 年 4 月 6 日
    你看你看,他们又开始定义“重构”了。
    duron600
        8
    duron600  
       2024 年 4 月 6 日
    而且我猜测这些人读《重构》最多也就是看了前五章,后面最重要的章节一章没看。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2649 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 10:55 PVG 18:55 LAX 03:55 JFK 06:55
    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