PIE原则——编程要表达出意图
PIE
英文:Program Intently and Expressively
中文:编程要表达出意图
是什么
在写代码时,明确表达意图十分重要,这与写诗、写随笔、写博客和写信是一个道理。
这是因为代码是写给人看的,而不是写给编译器看的。
因此,在写代码的时候要在表达上多花心思,将软件运行方式直接地传送给阅读代码的人。
为什么
代码是我们正确、完整地了解软件运行方式的唯一线索。
软件开发过程中虽然会创建诸多文档,但这些文档并不能帮助我们正确认识软件是如何运行的。
需求定义文档只描述了需要什么东西。
基本设计文档只描述了用什么样的软件来实现需求。
详细设计文档只描述了成品软件是什么样的结构,详细设计文档虽然与代码最接近,但代码是动态变更的,而详细设计文档往往做不到同步,更何况并非每个项目都有详细设计文档。所以说详细设计文档并不是百分百存在且百分百有用的。
到头来我们只能通过阅读代码来掌握软件的运行情况。因此,编写可读性高的代码,用代码表达意图是唯一可取的方法。
怎么做
把提高代码可读性作为第一要务。重视代码的可读性,而不是代码的易写性。
读代码的次数远比写代码的次数多。“读代码的效率”应优先于“写代码的效率”。“读代码的效率”同样优先于“执行代码的效率”,因为如果代码的可读性高,提高代码的执行效率也会变得容易一些。
将代码的可读性放在第一位,就意味不能为了炫耀才华而写一些让人难懂的代码。刚学会新技术时,人们容易落入陷阱,明知学会的新技术用不上还炫耀一下。不能让人读懂的代码不是好代码,只有能够向读者准确表达意图的代码,才是好代码。
PIE原则——编程要表达出意图相关推荐
- 代码命名,代码里的命名规则:错误的和正确的对比 命名方法总结 “自我描述的源代码”用代码表达出你的思想,让其他人通过代码能明白你的意图。...
http://www.aqee.net/express-names-in-code-bad-vs-clean/ 编程初学者总是把大量的时间用在学习编程语言,语法,技巧和编程工具的使用上.他们认为,如果 ...
- 绍耕反失败学课程(02)——对女孩积极的表达出自己的欲望
心理学上有一个被称为"心流"的概念,可以解释人做事的投入和专注提升的心境.首先喜欢,要不喜欢,做起来以后就不那么执着了.本反失败学系列课程的第02讲,最重要的就是,要主动开拓渠道找 ...
- python求组合数c(m、n)编程题_c语言编程问题,计算出从n 个不同元素中取出m 个元素(m≤n)的组合数。编写程序...
题目: c语言编程问题,计算出从n 个不同元素中取出m 个元素(m≤n)的组合数。编写程序 根据下列公式可以计算出从n 个不同元素中取出m 个元素(m≤n)的组合数。编写程序,输入2 个正整数m 和n ...
- 分享:从编程中悟出的八字箴言
我从编程中悟出八个字:1专 2静 3谦 4筹 5悟 6慎 7透 8恒 . 1."忽如一夜春风来,千树万树梨花开./"现在的技术百花齐放,切忌不可贪. 不 ...
- 【Python】有红、黄、绿三种颜色的球,编程计算摸出球的各种颜色搭配
Python三色球问题 题目 代码 结果 题目 有红.黄.绿三种颜色的球,其中红球 3 个, 黄球 3 个,绿 球 6 个.先将这 12 个球混合放在一个盒子中,从中任意摸 出 8 个球,编程计算摸出 ...
- 【C语言基础练习】有红、绿、蓝三种颜色的球各3个。现在将着9个球混合放在一个盒子中,从中任意摸出6个,编程计算摸出球的各种颜色搭配。
有红.绿.蓝三种颜色的球各3个.现在将着9个球混合放在一个盒子中,从中任意摸出6个,编程计算摸出球的各种颜色搭配. 1 #include<stdio.h>2 int main()3 {4 ...
- 怎样用计算机表白我爱你,高级表白密码,教你如何用数字表达出我爱你
现在已经是21世纪了,表白还是那句简简单单的"我爱你"难免太过无趣和俗套,今天小编就分享一套高级表白密码给大家,教大家如何用数字表达出我爱你. 57301314 我喜欢你一生一世 ...
- 计算机可以编程游戏吗,我的世界真正的大神,在游戏中编程,制作出能玩的单机游戏...
原标题:我的世界真正的大神,在游戏中编程,制作出能玩的单机游戏 都知道,我的世界是一款沙盒建造类游戏,从2009年发行至今,有着不错的热度和源源不断的玩家涌入.虽然游戏中所呈现的并不是华丽精致高清的特 ...
- 有红、黄、绿三种颜色的球,其中红球 3 个, 黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。1. 输出情况总数;2.输出摸取情
内容1:有红.黄.绿三种颜色的球,其中红球 3 个, 黄球 3 个,绿球 6 个.先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配.1. 输出情况总数;2.输 ...
最新文章
- 模板 - 数学 - 数论 - 莫比乌斯反演 - 2
- before伪类的超有用应用技巧——水平菜单竖线分隔符
- 中断处理函数中自旋锁的应用
- Python时间库—datetime的详解及使用
- springboot整合JWT使用
- 什么是光纤通道交换机(FC SWITCH)
- java并发中的延迟初始化
- win10如何查看文件夹的大小 - 方法大全
- DOM克隆操作(深克隆/浅克隆)
- C# 对垒 VB.NET C#不行了?
- 【半年总结】愿有岁月可回首
- 从数据类型 varchar 转换为 numeric 时出错.
- a letter and a number
- 阿里巴巴矢量图标库使用
- CGAL Arrangements and Their Applications: A Step-By-Step Guide
- 开关电源学习笔记9 --- SPEIC变换器
- System.Windows.Forms.DataVisualization.Charting.Chart
- 计算机图形学(四)几何变换_3_矩阵逆变换
- 电磁功率流和坡印廷矢量
- [双系统]安装双系统的步骤及注意事项(含分区工具介绍)