”action base programming“ 宣言 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
oaa
V2EX    分享创造

”action base programming“ 宣言

  •  
  •   oaa
    woodgear 2020-11-26 19:34:57 +08:00 2303 次点击
    这是一个创建于 1838 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就我自己的观察来看,日常的程序员的工作由一系列 action 组成,这种 action 的组合可以类比于所有在 emacs 上的操作由一系列 command 组成. unix 哲学所带来的强大的复用和组合的能力所导致的一个后果是,为了表达出这些有明确语义的 action 我们往往要组合多个命令行工具(awk,sed,grep etc).在这时关注的重点不由得从具体的语义(想做什么)变成了繁琐的实现(该怎么做). 正如 emacs 的精华(在我看来)在于强大的自定义 command 的能力,和良好的交流这些 command 的场所(包管理市场),我们也应当将那些常用的对象和 action 整理出来,使的对于这些 actions 的讨论能够有一个场所.从而能够帮助我们找到 action 的最佳实现,和发现那些之前没有意识到的 actions.

    本项目(包括整个 awesome-code-actions)旨在整理出那些常用对象的 action,给他们一个名字,给程序常与之交互的对象一个抽象一些的方法,使的我们的焦点更关注于对象的语义(对象可以那些方法,我可以对其做什么)而不是语法(具体怎么组合使用工具去达到我们的目的). awesome-shell-actions 关注于对于组合和调用命令行所能表达的 action 的整理与维护 每个对象由 scripts 下的××-actions.sh 定义,脚本中的每个以 xx-开始的函数定义了一个以这个对象为主体的 action.

    awesome-shell-actions

    4 条回复    2020-12-01 14:42:27 +08:00
    salaryfly
        1
    salaryfly  
       2020-11-26 19:52:32 +08:00
    虽然还没看懂,但是感觉很厉害的样子,支持一下!
    levelworm
        2
    levelworm  
       2020-11-30 11:12:29 +08:00
    有点意思,我也想过类似的事情。有时候在堆栈溢出上搜索,搜索得其实就是 action 。
    oaa
        3
    oaa  
    OP
       2020-12-01 14:41:51 +08:00   1
    @levelworm 对头 就是这个意思
    oaa
        4
    oaa  
    OP
       2020-12-01 14:42:27 +08:00
    本质上讲还有 ide-actions 等各种 actions
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1113 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 17:56 PVG 01:56 LAX 09:56 JFK 12: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