24

GitHub - taowen/awesome-lowcode: 国内低代码平台从业者交流

 3 years ago
source link: https://github.com/taowen/awesome-lowcode?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

How we think

人脑是串行的,无法有效并行思考多条线索

  • 人脑不适合思考并行执行的多线程
    • 【单线程】把共享变量的编程模式改成事务整体提交的模式
  • 人脑不适合思考同时呈现在屏幕上的多个独立的业务流程
    • 代码是按发生时间组织的,在一起的代码未必是逻辑上有关联的业务流程
      • 【按业务切分文件】阅读者应该可以按照自己的任务目标来跟踪索引,而不是默认一个按钮点击引起的处理逻辑都一定要写在一个大文件里
      • 【按变更频率切分文件】业务变更是阅读的首要原因,代码应该按照业务变更的频率来组织。会同时变更的代码应该放在一起
  • 人脑很难管理多份独立可变的状态,本质上每个独立变化的状态就是一个独立的线程
    • 驱动状态数量熵增的三大因素:
      • 因为交互体验的要求,从后端到富客户端到3d动画,状态被复制多份,越来越靠近展示层
      • 因为硬件物理的约束,内存从CPU统一寻址,到异构计算,CUDA,每个硬件核都有一层自己的内存
      • 因为数据量的增长,从统一的OLAP从库,到Data Lake,Data Mart,数据被复制成越来越份,流水线越来越长
    • 对抗状态数量熵增的手段:
      • 【声明式数据联动】减少独立变化的状态,用表达式来表达 derived state
      • 【全局虚拟数据层】借鉴Unix的统一文件抽象,引入一层统一的虚拟数据层。尽可能把状态转化成 cache
  • 人脑很难理解新增对原有行为的剧烈变化,更习惯逐层稳定叠加。也就是人更希望“控制变量”
    • css 最大的难度在于不正交,新增一条对规则会引起意想不到的效果
      • 【局部化布局】swiftui 的 HStack/VStack/ZStack 布局规则数量少,每条规则作用都是局部的稳定的叠加
    • 性能优化往往需要破坏局部性,因为局部的自治容易引起重复劳动
      • 【局部化IO】系统自动实现 I/O 的批量等可以自动化做的全局优化
      • 【局部化IO】业务写成自治的,但是可以附加额外的手工全局调优。而不是强制要求把业务逻辑从局部抽出去

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK