Weekly Summary(20240714)

技术

为什么 UML 没广泛使用?

https://www.zhihu.com/question/660384108/answer/3551179520

1)快速上线要求敏捷开发,uml 太重,以不适合互联网软件开发;
2)表达能力跟不上层出不穷的语言特性;
3)至少用例、时序建模是可用的。

用时序图和用例图,对特定的细节,用状态转换图;涉及到比较复杂的业务逻辑的话,通常用 BPMN(Business Process Model and Notation)。

BPMN

BPMN(Business Process Model and Notation)是一种业务流程建模符号,它提供了一种标准的方式来可视化业务流程。BPMN 设计得易于理解,使得业务分析师、开发人员和其他利益相关者能够共同理解和改进业务流程。

BPMN 的主要特点包括:

  1. 流程图:使用流程图来表示业务流程中的步骤和决策点。
  2. 符号:BPMN 定义了一套符号,包括开始事件、结束事件、任务、网关、流程流等,以图形化的方式表示流程中的不同元素。
  3. 顺序流:表示流程中步骤的执行顺序。
  4. 并行处理:允许多个步骤同时进行。
  5. 条件和决策:使用网关来表示流程中的决策点,根据条件决定流程的分支。
  6. 循环和迭代:表示流程中的循环逻辑。
  7. 事件:包括开始事件、中间事件和结束事件,用来触发流程的开始、中间的某些特定行为或流程的结束。

BPMN 广泛应用于业务流程的分析、设计、实施和改进,它帮助组织理解和优化业务流程,提高效率和透明度。BPMN 图可以被转换为可执行的业务流程,用于自动化和监控实际的业务操作。

为什么国外大学计算机系本科生培养如此强调函数式编程?

https://www.zhihu.com/question/450773131/answer/1807321110

通过 Markdown 与大模型对接

参考东明这边的 Prompt,都是写在 Markdown 里面的,然后模型动态读取 Markdown 内容。

Sum Type

在编程语言和类型理论中,”Sum Type”(求和类型或和类型)是一种复合类型,它允许一个变量可以是多种类型中的一种。它通常与”Product Type”(乘积类型)相对比,后者允许一个变量同时具有多种类型的值。

Sum Type 在类型安全、模式匹配和错误处理等方面非常有用,因为它们允许程序员明确地表达一个值可能具有的不同形式,并且可以在编译时检查这些形式。

在 TypeScript 中,Sum Type 可以通过联合类型(Union Types)和枚举(Enums)来实现。

CSS Layout

Learn CSS Layout The Pedantic Way

CSS, like the Matrix, is a system based on rules.

想法

不专业的问题

现在的开发模式,非常不专业,以故事森林小游戏为例:

  • 非产品经理人员承担了产品设计的角色,缺乏业务经验,功能设计上未贴合业务与用户需求,大量精力钻入细节和 UI 表现、业务流程上不了解(比如埋点、公司的赠币和兑换机制等)

  • 设计师是做运营的,不是业务设计师,设计的交互很多问题

这就导致需求走一步看一步,不断变化,甚至推翻重来。搞到后面进度和质量不可控,大家都相互不满,然后就菜鸡互啄。

而开发人员也不专业:

  • 后端是新手,接口等设计考虑不周

  • 业务前端加入太晚,组件前端做业务,不知道细节上的规范,做到后面发现不符合业务开发组的要求,返工重来

AI F10 也有类似的问题,套用刘帅的比喻:

我们现在的问题,类比如下场景:
正常的敏捷开发迭代:
第一期:搭个墙
第二期:建个门(在一期基础上)
第三期:建个窗户(在二期基础上)
我们的开发迭代:
第一期:搭个墙
第二期:把墙拆了重建,再加个门
第三期:把墙拆了重建,门也拆了重建、再加个窗户

游戏开发是学习机制思维的最佳场景

游戏就是机制,伤害系统 = function(buff 系统 + 技能系统 + xxx)。

可以看一下游戏开发的 gameplay 和写流水账业务的区别。

You are who you think you are

读《Atomic Habits》有感。

研发(R&D)

没研究和创新,叫什么研发?

好文摘抄

柳乘风每天清早就开始给朱厚照讲故事,或是到这东宫的花园闲逛散步,看了一株花,或是讲到了哪个人物,便教朱厚照先想一想,感悟之后,再动笔写文章,之后再一遍遍地给他讲解、修改,这样的教育方法让朱厚照兴致盎然,朱厚照本就是绝顶聪明的人,四五十篇文章写下来,虽然不至于得心应手,可是引经据典和采用词句方面已经不再是从前那样生涩了。柳乘风的要求也不高,只要不丢人就好,若是能超水准发挥,那就更好不过。毕竟朱厚照的对手不是进士、秀才,而是一群草包宗室,这些人也就在朱家的圈子里还能得意一下,出去随便拉一个秀才出来,也足够震慑全场了。

–如何锻炼写作和口语能力。

建模抽象程度高:容易抹平细节,而细节里头藏魔鬼;

建模精确到细节:建模语言复杂度看齐编程语言本身,还不如直接写代码。

https://www.zhihu.com/question/660384108/answer/3551179520

我们现在的问题,类比如下场景:
正常的敏捷开发迭代:
第一期:搭个墙
第二期:建个门(在一期基础上)
第三期:建个窗户(在二期基础上)
我们的开发迭代:
第一期:搭个墙
第二期:把墙拆了重建,再加个门
第三期:把墙拆了重建,门也拆了重建、再加个窗户

–刘帅评价 AI F10 的开发