V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
3dwelcome
V2EX  ›  问与答

好奇大家是怎么组织代码和历史函数的?

  •  
  •   3dwelcome · 119 天前 · 761 次点击
    这是一个创建于 119 天前的主题,其中的信息可能已经有所发展或是发生改变。

    码农每天要写很多的函数,分布在不同的文件里,日积月累下来,数量也不少。

    有一些可以复用,有一些和业务紧密关联,不能直接复用,但是可以在未来做为代码参考。

    那么问题来了,那么多函数,光凭脑子记忆,几个月后自己都忘记了。有什么趁手工具,或者有什么方法,能快速列出并查找自己写的所有历史函数吗?

    11 条回复    2021-08-09 07:26:42 +08:00
    yitingbai
        1
    yitingbai  
       119 天前
    面向对象编程, 项目初期就要把架构设计好, 业务逻辑要用接口实现, 尽可能的在代码里面约束自己的行为, 能封装的一定要封装, 能抽象的一定要抽象, 同样的代码不要复制粘贴, 必须封装. 简单的说, 就是把代码写出库那样感觉, 利用 IDE 的提示立马就知道该怎么用这些函数, 而不是靠脑子记忆
    3dwelcome
        2
    3dwelcome  
    OP
       119 天前 via Android
    @yitingbai 你这是理想状态,事实上项目压力一大,写代码就变成了赶时间,很难预先规划好。
    而且同一个项目文件组织容易,但不同的项目,就不太好组织了。
    我在想能不能通过某些管理工具,来帮助自己回溯所有写过的历史函数。
    ipwx
        3
    ipwx  
       119 天前   ❤️ 1
    @3dwelcome 是不是理想状态,主要还是看你们公司的领导是不是能稍微沉得住气一点。

    众所周知,软件工程的必要代价总是要支付的。要么前期打好地基,要么拖延到未来某个版本。。。
    3dwelcome
        4
    3dwelcome  
    OP
       119 天前 via Android
    @ipwx 是的,最后一句深有感触。

    现在欠下的技术债,早晚要还的。
    ipwx
        5
    ipwx  
       119 天前   ❤️ 1
    @3dwelcome 说起来我在 macOS 上的时候,乱七八糟的代码用 SnippetsLab

    https://www.renfei.org/snippets-lab/
    jones2000
        6
    jones2000  
       118 天前
    说明写的少了, 像玩农药, LOL 一样, 用什么人物,在什么情况下发什么技能, 快捷键是什么, 条件反射就出来了, 还需要记吗?
    3dwelcome
        7
    3dwelcome  
    OP
       118 天前 via Android
    @jones2000 这和写多写少没关系,你能想起自己三年前写的代码片段吗?正常人都想不起来。
    所以才需要工具的辅助,来帮助函数归类。
    软件行业变化快,一年一小变,三年一大变,哪怕复用率很低,我也不太希望自己代码写完就丢,毕竟这也算技术成长的足迹。
    jones2000
        8
    jones2000  
       118 天前
    @3dwelcome 只要是自己写的代码, 不是 ctrl+c, ctrl+v 考过来的, 基本一时半会不能忘记的. 你写一个函数,先要有设计思路, 画流程图, 写代码, 调试, 测试, 然后修正 bug, 最后可能还要重构, 这一趟下来, 怎么可能马上就忘记呢.
    3dwelcome
        9
    3dwelcome  
    OP
       118 天前 via Android
    @jones2000 那你可能是长期专注一个项目,反复打磨重构,确实可以加深记忆。
    可惜我前端项目周期短,项目杂,客户催得紧,只想早点收工,周末不加班。
    我其实是想自己写一个的源码回溯工具的。我看有大神会给函数写特殊注释,带有特殊符号便于程序查找,想先在 V2 找一下思路。
    jupiter157
        10
    jupiter157  
       118 天前   ❤️ 1
    我习惯在注释里加上关键词:{{keyword1;keyword2;keyword3}},然后写一个程序命名为 search,用 search(keyword1)把相关文件、同一行存在的关键词全部列出来,也支持用多个关键词缩小查找范围。search(keyword1,'o',1) 打开该文件到关键词所在行; search(keyword,'od',1)打开所在文件夹。关键词可以给同一个意思多写几个不同的表达方法,增加匹配可能性。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2200 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:07 · PVG 19:07 · LAX 03:07 · JFK 06:07
    ♥ Do have faith in what you're doing.