你们都有自己的 utils 吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
aqtata
V2EX    程序员

你们都有自己的 utils 吗?

  •  
  •   aqtata 2021-07-16 11:29:06 +08:00 9701 次点击
    这是一个创建于 1623 天前的主题,其中的信息可能已经有所发展或是发生改变。
    平时积累的各种小函数,无依赖,随时可以 ctrl+v 或 import 到各项目中使用。
    你们有这习惯吗?
    55 条回复    2022-05-16 12:35:22 +08:00
    wizzer
        1
    wizzer  
       2021-07-16 11:32:01 +08:00   3
    平时会记到自己 blog 里,用时搜一下: https://wizzer.cn
    toast
        2
    toast  
       2021-07-16 11:35:02 +08:00 via iPhone
    常用的都不会,毕竟有问题还得自己维护
    特异化的一些就会粘贴到 snippet 里
    Karonheaven
        3
    Karonheaven  
       2021-07-16 11:35:09 +08:00   6
    写到 IDEA 里面的 Live Template 里面,顺带加一堆注释
    levelworm
        4
    levelworm  
       
    我其实一直想写一个日常工作用的 util 。大致功能就是一个命令行菜单,既可以对数据库做一些经常要做的查询、插入、删除等操作,也可以遥控 JIRA,在命令行状态下创建和修改工单,以及一键发送特定主题的邮件。
    anjianshi
        5
    anjianshi  
       2021-07-16 11:38:48 +08:00
    给公司的项目统一搞了一个,自己就没额外搞了
    ipwx
        6
    ipwx  
       2021-07-16 11:40:27 +08:00
    写到的时候去自己 GitHub,从项目里面找。我自己成型的项目还不少。
    hstdt
        7
    hstdt  
       2021-07-16 11:40:35 +08:00 via iPhone
    给自己开发了一个笔记软件
    djyde
        8
    djyde  
       2021-07-16 11:44:40 +08:00
    会做成 vscode code snippet
    coolxll
        9
    coolxll  
       2021-07-16 11:46:14 +08:00
    snipplet 管理
    3dwelcome
        10
    3dwelcome  
       2021-07-16 11:49:24 +08:00   1
    我有习惯写 IDE 插件,比如 ESC 一键关闭无关的 Output Windows, 让代码窗口最大化。

    尽可能让 IDE 来适应自己。

    但估计 90%小伙伴都没这个习惯。
    dethan
        11
    dethan  
       2021-07-16 11:51:24 +08:00 via Android
    我是做 java 的,每做一个新项目,都写自己的 utils
    dethan
        12
    dethan  
       2021-07-16 11:51:38 +08:00 via Android
    @dethan 用过的人都说好哈哈
    z740713651
        13
    z740713651  
       2021-07-16 11:57:10 +08:00
    github 上有一个私人项目 命令集前缀是名字缩写

    要生成日报了 wg day_log
    要看还有多久下班 wg date
    代码部署到服务器 wg deploy --ip xxxx
    暂时弃用 git hook 代码提交检查 wg unset_git_hook
    wsl 目录与 windows 目录在剪贴板的转换 wg path

    也是看到前辈在做常用脚本集 自己也跟着做了
    爽歪歪
    levelworm
        14
    levelworm  
       2021-07-16 11:59:44 +08:00
    @3dwelcome 我倒是想写,但是不会。我最想写的就是 jetbrain 系列编辑器的新的快捷键功能。你写的这个也蛮好的,请问有没有对外公开源代码?
    3dwelcome
        15
    3dwelcome  
       2021-07-16 12:05:15 +08:00   1
    @levelworm
    github 搜类似插件代码呗,总能找到的。

    反正都是抄来抄去。。
    levelworm
        16
    levelworm  
       2021-07-16 12:05:59 +08:00
    @3dwelcome 有道理,试试看。
    94
        17
    94  
       2021-07-16 12:09:10 +08:00
    4 年前会自己写,因为不知道 lodash,现在能想到的 lodash 都可以找到,就完全不考虑自己写了。而且自己写会有坑,lodash 基本就不需要考虑了,比如递归的时候一些深层属性的坑。
    ppphp
        18
    ppphp  
       2021-07-16 12:12:02 +08:00
    2021 年用过的语言标准库都比较完善了
    hanssx
        19
    hanssx  
       
    对应不同语言,有个文件夹叫 cs(code snippet),里面有些代码片段或测试代码,对于常用的 library function,会写一套脚手架用于快速生成项目时作为项目的 utils
    finab
        20
    finab  
       2021-07-16 12:24:38 +08:00
    我用 Alread 的 Snippets , 记录各种命令行,代码小片段,常用文本,能很方便的检索和自动输入
    rioshikelong121
        21
    rioshikelong121  
       2021-07-16 12:29:34 +08:00
    Github Copliot.
    walpurgis
        22
    walpurgis  
       2021-07-16 12:32:50 +08:00 via iPhone
    不写,也不敢用没有经过生产或社区验证过的私有工具库,万一有啥坑呢
    主流语言常用工具库应该都很完善了,自己封一套给别人看也增加了学习成本
    learningman
        23
    learningman  
       2021-07-16 12:40:26 +08:00 via Android
    这几天在看 vscode 的源码,就看到微软的哥们在里面自己写了一个 jquery...心情复杂
    xe2vherd
        24
    xe2vherd  
       2021-07-16 12:53:06 +08:00
    不仅要写,写完还要发布到 pip
    xuanbg
        25
    xuanbg  
       2021-07-16 12:58:03 +08:00
    自己搞了一个给公司用
    bnm965321
        26
    bnm965321  
       2021-07-16 12:58:10 +08:00
    @learningman vscode 重写 jQuery 还是有价值的。jQuery 的很大一部分代码是 polypill,electron 不需要 polyfill,可以节省很多 size 。
    frandy
        27
    frandy  
       2021-07-16 12:59:04 +08:00   2
    java 的话,以前自己维护,现在 hutool 基本搞定了.
    zm8m93Q1e5otOC69
        28
    zm8m93Q1e5otOC69  
       2021-07-16 13:03:42 +08:00 via Android   1
    hutools 里面包括了很多了
    3dwelcome
        29
    3dwelcome  
       2021-07-16 13:08:40 +08:00
    @bnm965321 我前一阵也在捣鼓 vscode,想弄个 vscode-server 玩玩。

    编译的时候我就在纳闷,说好的和平台无关,怎么在 nodejs 里,夹杂了一大堆和 PowerShell 有强关联的私货,Windows 编译初期各种卡住。
    learningman
        30
    learningman  
       2021-07-16 13:15:35 +08:00 via Android   1
    @3dwelcome 别说了,里边还有预编译好的 exe 呢,旁边放个 Cargo.lock
    egfegdfr
        31
    egfegdfr  
       2021-07-16 13:55:20 +08:00
    网上的 util 包基本上满足要求,如果不够,就维护到最近的一个公共的 jar 里面,不想每个项目都弄个 util 弄成公共的 尽量复用
    fffang
        32
    fffang  
       2021-07-16 14:00:47 +08:00
    这个叫做 code snippet
    securityCoding
        33
    securityCoding  
       2021-07-16 14:16:53 +08:00
    xs
    aicfe
        34
    aicfe  
       2021-07-16 14:38:56 +08:00   4
    java 的话,现在基本上就是 hutool 工具包了
    dyxLike
        35
    dyxLike  
       2021-07-16 15:35:14 +08:00
    对于自己不熟悉的语言, 会记录一些典型场景的功能代码, 剩下的一般就直接用公共 util 包或者现写了
    junbaor
        36
    junbaor  
       2021-07-16 15:44:56 +08:00
    apache commons 系列、google guava 、spring 这些差不多了
    www5070504
        37
    www5070504  
       2021-07-16 17:09:11 +08:00
    有 一般的工具函数或者初始化日志什么的 懒得写第二次的那种

    放 gist 里边了..
    xiaket
        38
    xiaket  
       2021-07-16 17:15:28 +08:00
    AllenHua
        39
    AllenHua  
       2021-07-16 17:47:43 +08:00
    有一些 shell 和 bat 脚本
    paulw54jrn
        40
    paulw54jrn  
       2021-07-16 17:50:53 +08:00
    github snippet
    siteshen
        41
    siteshen  
       2021-07-16 17:55:30 +08:00
    楼主头像很出戏。
    leeyom
        42
    leeyom  
       2021-07-16 18:18:31 +08:00
    Java 这块,就不重复造轮子了,hutool 基本上已经满足了我多数的 utils 了
    SansXie
        43
    SansXie  
       2021-07-16 19:07:02 +08:00
    @wizzer 老哥 100 页博客有点厉害的, 佩服佩服
    liuxu
        44
    liuxu  
       2021-07-16 19:13:07 +08:00
    不会,我都是 ctrl+c 别人的
    gitopen
        45
    gitopen  
       2021-07-16 20:47:14 +08:00
    @zmxnv123 +1 。把常用的计算函数等封装以下,扔到 pypi 上。。。没事儿再更新一把。。
    seakingii
        46
    seakingii  
       2021-07-16 21:38:04 +08:00
    常用的函数工具类封装成 DLL 类库
    cz5424
        47
    cz5424  
       2021-07-16 23:48:40 +08:00
    貌似 python 需要的 utils 的大部分 python 都自带了,小部分谷歌一下就有了
    GG668v26Fd55CP5W
        48
    GG668v26Fd55CP5W  
       2021-07-17 08:43:25 +08:00 via iPhone
    正有此想法,建立自己的 cheetsheet 和 snippet,绝对是比上谷歌找方便。
    EscYezi
        49
    EscYezi  
       2021-07-18 04:20:09 +08:00 via iPhone
    项目常用的直接从之前的项目里 copy,有时新开项目自己还没动手,队友已经把之前的工具类 copy 过来了
    有考虑封装一个 utils 扔到 maven 上,嫌麻烦一直没弄(现成的各种 utils 感觉已经很多了…)
    cjh1095358798
        50
    cjh1095358798  
       2021-07-18 09:53:40 +08:00
    用了 github 上别人的
    429463267
        51
    429463267  
       2021-07-18 13:37:46 +08:00
    Hutool 默秒全
    ccppgo
        52
    ccppgo  
       2021-07-19 09:20:31 +08:00
    @beichenhpy
    @aicfe
    @429463267
    Hutool 性能好吗, bug 多吗
    a68UkLHpycW7ImyV
        53
    a68UkLHpycW7ImyV  
       2021-07-19 16:11:49 +08:00
    用一个单独的项目保存起来了,比如在 kafka 搜索最近半天的数据,哈哈。
    429463267
        54
    429463267  
       2021-07-20 14:16:40 +08:00
    ropzislaw
        55
    ropzislaw  
       2022-05-16 12:35:22 +08:00 via Android
    t/852757 写了个专注于提供 util 的插件
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3865 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 00:56 PVG 08:56 LAX 16:56 JFK 19:56
    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