导读-让写程序变简单,提高生产力的出路 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
muchan92
V2EX    程序员

导读-让写程序变简单,提高生产力的出路

  •  
  •   muchan92 2021-02-10 10:34:13 +08:00 2901 次点击
    这是一个创建于 1748 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原文: 《写代码如盗墓笔记,如何逃出生天?》

    该文首先从代码的特点分析了难以阅读的原因,得到阅读代码的目的是为了理清数据流向,并且由于逻辑控制流的本质复杂性,所以只能通过数据结构来理清流向。

    鉴于许多人以往,甚至是此刻,坚持认为逻辑控制流是程序的根本,轻视数据结构,为了唤起大家对结构的灵魂重视,重点阐述了结构的重要性,得出结构是一切一切的根本

    然后分析出要强化数据结构的表达,才能描述出结构之间的关联(即数据流向)。
    从而得到面向数据结构编程,也即数据结构化编程的新观念、新思维。

    接下来,要扭转以往的过程式思维到结构化思维上来。
    首先强调了,要改变把数据结构仅仅当作数据存储这一根深蒂固的看法。在结构化思维中,数据结构是由字段和规则构成的,绝不再是仅有字段。(这里最易让人半途而废,因为旧思维太根深蒂固)
    然后强调了,要改变主观视角,要把思考的角度立足于数据结构上,唯有这样,从而才能在数据结构上定义规则。
    然后讲述了比较完整的思考流程,和定义规则的方法。

    之后用一个代码示例,来进行解读说明,如何定义结构,如何定义规则,并归纳了结构化编程的写法。

    最后颇为详细的介绍了数据结构化编程的许多好处。

    5 条回复    2021-03-15 00:37:34 +08:00
    felixcode
        1
    felixcode  
       2021-02-10 10:41:29 +08:00
    你为什么要重复发帖,自己引用自己。
    @Livid
    muchan92
        2
    muchan92  
    OP
       2021-02-10 10:44:22 +08:00
    @felixcode 只是想写一篇导读,如果不可以的话,那就让这篇下沉吧,抱歉
    Kirsk
        3
    Kirsk  
       2021-02-10 15:22:09 +08:00 via Android
    看了文章 关键词 数据结构 数据驱动编程
    hxndg
        4
    hxndg  
       2021-02-10 16:50:01 +08:00 via Android
    这不就是状态机吗?
    py2ex
        5
    py2ex  
       2021-03-15 00:37:34 +08:00
    - 关注数据
    - 定义规则和结构
    - 和函数式编程很像
    这些特征会让人联想到 SQL,尤其是帖子中一再重复“结构”这个词
    贴主是想把 SQL 扩展成一种通用编程语言
    把 imperative language 换成 declarative language
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1907 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 16:13 PVG 00:13 LAX 08:13 JFK 11:13
    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