首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【文档管理】关于重构,我的一点看法

【文档管理】关于重构,我的一点看法

作者头像
用户9913368
发布2022-08-13 16:03:24
发布2022-08-13 16:03:24
5460
举报
文章被收录于专栏:嘎嘎软件测试嘎嘎软件测试

目录

一、什么是重构

二、我在重构什么

三、如何看待重构

四、历史文章指路

一、什么是重构

重构(Refactoring)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。 重构目标: 改进软件设计使软件更容易被理解; 帮你找到bug; 提高软件的开发速度; 重构时机: 在添加新功能时进行重构; 在修改bug时进行重构; 在代码复审时进行重构; 到了最后的交付期限,不进行重构;

以上是软件开发领域的重构定义,在我的理解里,重构也可以运用到其它领域,比如文档重构,甚至知识体系重构。

我最近突然意识到我似乎不断在重构,这对我来说是好事还是坏事呢?我还没有一个非常准确的答案,我想先来分享下我对重构的一些看法。

二、我在重构什么

文档重构和代码重构。

2.1 文档重构

我在之前的一篇文章【笔记总结】我是如何做笔记的分享了我是如何做笔记的,我从大学起就开始用有道云笔记,截止到今天有2000篇左右的笔记了。

在这段期间,我做了无数次大大小小的重构,在最近一次重构中合并和删除了很多笔记。

我重构的时机是是什么,可能是在找一个笔记的时候,发现不是一下子就能找到,找到后还看不懂曾经自己写的啥,这时就触发了重构的点。

首先为什么找不到这个笔记?原因是它所在的目录位置并不是我现在所期望的位置,随着时间的推移,自己的认知体系结构越来越清晰,那么以前一些没有清晰定位的东西,我现在就要把它放到正确的位置。随之带来的,就是我不断的重新设置目录,将笔记放到新的目录里。

我最近的一次大重构,是将我之前按月按天为维度做的笔记给拆解成按照知识点划分了。我为什么按月按天为维度做笔记呢?这是因为以前学的东西太分散,没有完整的知识体系,几乎是想到啥就学啥,然后干脆就以这种时间为维度作为记录了。

这种做法的坏处是什么?笔记混乱且冗余,我经常发现做了相同的笔记,时间跨度还挺长,不过这也说明我对这快知识点并没有完全掌握,可能在一年两年后重新遇到这个点,还是想不清楚。

那另一方面好处是什么?可以按照时间维度见证自己的成长,我就时刻感叹,“我原来这么牛逼,有这么多收获,我早时间就学这个了啊,666”。

当然,现在我都是按照知识领域来划分了,每个小点尽量做到精准定位。

2.2 代码重构

我建立的一个Learn-Java的项目来学习Java,这还是在2020年初的时候建立的,看commit的时候真是惨不忍睹,哈哈哈,毫无规划,想到啥写啥,一通瞎改。

后面因为一些原因,把整个项目从github删除了,后面重新规划一波,现在主要分为Java-Base、Java-web、Vue-View三大模块,大方向已经规划好了,现在我要克制住commit,尽量少改动,把每次commit都当成一次版本上线,慎重对待。

三、如何看待重构

重构的触发点必然是当下的设计无法满足未来需求,这个有可能是有了更好的方案,因为自己变得更强了,也可能是迫不得已的重构,因为之前设计得太烂了,必须推倒重来。

无论是出于哪种原因做的重构,重构所需要花费的精力和资源都是巨大的。

写代码,做笔记,建设知识体系,先设计好再做,永远是稳健的做法。那么如何能在一开始就做好设计呢?我现在也没有一个好的方案,但是至少意识到了这个问题,也是一个非常好的开始了。

我们可以有一个好的开始:考虑的不仅是当下,更是未来,可以说活在未来,在未来的角度来审判当下的设计。

看到这篇文章的小伙伴,可以观察下自己是不是也经常重构,以及想一下,重构对自己的影响。

我们下期再见~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嘎嘎软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档