转载-代码的马斯洛金字塔

article/2025/10/6 12:06:33

从科技爱好者周刊(第 156 期):显卡缺货与异业竞争看到的关于代码的马斯洛金字塔这种说法;搬运过来方便自己随时阅读;
原文是代码的马斯洛金字塔;
内容如下:
As in Maslow’s pyramid, each layer requires the previous one. It is useless for code that is charging the wrong customer to be readable.
Code should be:

  • Correct: does the code do what it’s supposed to? Does it handle edge cases? Is it adequately tested to make sure that it stays correct even when other engineers modify it? Is it performant enough for this use case?
  • Secure: does the code have vulnerabilities? Is the data stored safely? Is personal identification information (PII) handled correctly? Could the code be used to induce a DOS? Is input validation comprehensive enough?
  • Readable: is the code easy to read and comprehend? Does it make clear what the business requirements are (code is written to be read by a human, not by a computer)? Are tests concise enough? Are variables, functions and classes named appropriately? Do the domain models cleanly map the real world to reduce cognitive load? Does it use consistent coding convention?
  • Elegant: does the code leverage well-known patterns? Does it achieve what it needs to do without sacrificing simplicity and conciseness? Would you be excited to work in this code? Would you be proud of this code?
  • Altruist: does the code leave the codebase better than what it was? Does it inspire other engineers to improve their code as well? Is it cleaning up unused code, improving documentation, introducing better patterns through small-scale refactoring?
    Update Feb 18th: there’s some great comments on reddit about this. I removed the notion of large refactor because I think small refactors have a higher probability of success. I also added a comment about why layering matters.
    周刊中翻译以及配图为:
    马斯洛金字塔是美国心理学家马斯洛提出的一个心理学模型,认为人类的心理需求从下往上分为5个层次,一旦实现了下层的需求,就会追求上一层的需求。
    在这里插入图片描述
    这五个层次依次是:生理需求、安全需求、社交需求、尊严需求、自我实现。
    代码质量也可以用金字塔模型表示,从下往上有五个层次。
    在这里插入图片描述
    (1)第一层:正确(Correct)
    代码是否执行预期的工作?是否考虑了边缘情况?是否经过充分测试?是否有可维护性?是否有可接受的性能?
    (2)第二层:安全(Secure)
    代码是否存在漏洞?数据是否安全存储?个人识别信息(PII)是否得到正确处理?是否对用户的输入进行了全面的验证?
    (3)第三层:可读(Readable)
    代码是否易于阅读和理解?测试足够简洁吗?变量、函数、类的名称是否适当?使用领域模型是否可以清晰地映射现实世界,以减少认知负担?是否使用一致的编码风格约定?
    (4)第四层:优雅(Elegant)
    代码是否利用了众所周知的编程模式?能否更简单简洁地实现所需的功能?你会为编写这些代码感到兴奋吗?你为这些代码感到骄傲吗?
    (5)第五层:利他主义(Altruist)
    别人能否从这些代码学到东西?这些代码是否会激励其他工程师进行改进?它是否会让世界变成一个更好的地方?

http://chatgpt.dhexx.cn/article/ChLcqbSm.shtml

相关文章

需求挖掘:产品经理怎么基于项目做需求挖掘

零、需求分析的背景 日常工作中,我们常常面临别人提过来的需求要不要做,如何去挖掘新的需求、衡量需求的投入产出比等相应的场景,这些场景都涉及到我们对需求的分析和挖掘,也就意味着我们需要掌握足够多的认知和方法论去对指定的需…

如何思考总结,并如何写文档展示. 结构化思考, 金字塔思维

先看三张图: 术语: 交叉表, 是人分类能力提升的一个标志. (对问题思考可以分类到多个维度,并了解维度之间的层级关系,哪个更主要,哪个是次要) 该图的是最简单的整理表格. 进一步复杂的在数据分析上有专门的术语: 叫做交叉表 找不到了 1.上线前 道: 法(制度): 术…

程序员应了解:知识技能金字塔

这是我的开篇文章!! 如今计算机非常火热,尤其是程序员(软件开发)更是大众眼中高工资的代表。 而新的编程语言和技术框架等更新迭代速度可以说是360行中最快之一,一般来说程序员知识半衰期是五年&#xff0…

需求

什么是需求 定义 需求是满足某类用户的某种欲望或解决某些问题时所产生的现象。工具类App的出现就是为了解决用户的某些问题。比如印象笔记,解决了用户记录事物,并整理笔记的需求;番茄todo解决拖延症人群效率低下,办事无条理的问题…

经济学金字塔

2.9.3.1 经济学金字塔 此章节我们将根据广义动量定理与系统思考建立起经济学金字塔的模型。经济学金字塔包含4个层级的均衡。第一层级是两个单一市场的均衡,分别为商品市场的均衡和货币市场的均衡。第二层级是两市场的均衡,即商品市场和货币市场共同达到…

【博学谷学习记录】超强总结,用心分享|产品经理需求分析方法简析

为什么要进行需求分析? 作为产品经理,每天要接触到大大小小不同的需求,在面对需求时,需要进行有效的需求分析,才能更好地了解问题,从而制定相应的解决方案,就是通过用户的问题,找到…

29. 人类将如何变革--走出金字塔模型(上)

作者 | Harper 审核 | gongyouliu 编辑 | auroral-L 人工智能,将改变全世界各行各业的现有工作方式,商业模式以及相关的经济结构,那么人类应该如何应对呢?最最基本的一点,当人工智能开始大规模取代人类工作者的时候&am…

基于空间金字塔网络的光流估计

Optical Flow Estimation using a Spatial Pyramid Network 我们学习通过结合经典的空间金字塔公式和深度学习来计算光流。通过当前流量估计和计算流量更新,在每个金字塔级别扭曲一对图像,通过从粗到细的方法估计大型运动。我们不是在每个金字塔层上对目…

《金字塔原理》读书笔记

0 前言 《金字塔原理》基本是每一位职场人的必修书目,在实习期间也是leader和师兄的强力推荐,在工作的软能力上提升自己。”想清楚,说明白,知道说什么、怎么说“,是我们希望达到的境界。我们在与人沟通时,需…

《腾讯数字生活报告2019》发布,互联网时代新马斯洛需求金字塔预示什么?

来源:腾讯研究院 5月22日,腾讯研究院、腾讯应用宝、腾讯开放平台联合出品的《腾讯数字生活报告2019》在腾讯全球数字生态大会应用生态主题论坛上发布,报告从生存、关系、发展三个层级解读了大众数字生活版图中的新趋势及核心洞察。透过这份数…

产品能力提升|《金字塔原理》

「金字塔原理」芭芭拉明托 2021/3/28 我们希望达到的境界:想清楚,说明白,知道说什么、怎么说。所以在和人沟通的时候需要明确三件事:谁是我的听众、他们想听什么、他们想怎样听。 金字塔原理的基本概念 金字塔原理是一种重点突出…

马斯洛金字塔的大秘密

废话不多说,直接切主题: (以上图片为UCD课件内容) 亚伯拉罕马斯洛在1943年在《人类激励理论》论文中所提出。人类需求像阶梯一样从低到高,按层分为五种:生理需求、安全需求、社交需求、尊重需求和自我实现…

代码的马斯洛金字塔理论

马斯洛曾提出了著名的需求层次理论(马斯洛需求金字塔理论): 人们需要动力实现某些需要,其中的一些需求优先于其他需求。我们可以把人类的需求划分为五个层次(如图1所示),从层次结构的底部往上&…

从特岗教师的需求金字塔,重新理解乡村、教育和科技

教师节刚刚过去,尊师重道,可以说是中国文化中亘古不变的话题。 尤其是在乡村振兴、农村现代化的过程中,都离不开乡村教育发展,而诸多特岗教师、乡村教师,更是被寄予厚望的奉献者,是放弃城市繁华的苦行僧&am…

马斯洛需求层次理论

马斯洛人类需求金字塔理论把需求分成 生理需求、 安全需求、 社交需求、 尊重需求和 自我实现需求 五大类,依次由低层次到高层次,如下图。

马斯诺需求金字塔

美国著名心理学家马斯洛对人的需要进行了系统的、独到的研究,对心理学和行为科学产生了巨大的影响。把人的需要描述成具有五个层次的“金字塔”,已满足的需要达到了什么层次,与人的心理健康程度是有关联的。人的基本需要按优势或力量的强弱排…

金字塔原理

当你在听别人讲话或者看文章时,会时不时用某种逻辑模式,试图把接收到的内容组织起来,让自己理解更加深刻。这种逻辑最优化的选择就是金字塔原理,因为金字塔原理指导下的金字塔结构符合人类的思维模式。 那人类的用脑机制是怎样的呢…

马斯洛人类需求金字塔理论

马斯洛人类需求金字塔理论把需求分成生理需求、安全需求、社交需求、尊重需求和自我实现需求五类,依次由较低层次到较高层次。

Xavier(6):ubuntu18.04安装casadi 报错与解决(recompile with -fPIC)

报错: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol N_VClone_Serial which may bind externally can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: ../../../lib/libcasadi_sundials.a(nvector_serial.c.o): relocati…

编译FCL库报错:recompile with -fPIC

报错如下: Make error relocation R_X86_64_32 against .text’ can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libccd.a: error adding symbols: Bad value 仔细看一下, 可以发现, 是因为之前安装另一个库引起的, libccd, 因为FCL需要调…