博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序之美(转自知乎)
阅读量:5843 次
发布时间:2019-06-18

本文共 739 字,大约阅读时间需要 2 分钟。

因为程序是逻辑的集合,是一种结构化的事物,因此程序的美往往体现了某种秩序。

1. 基本的秩序是基础 CS 理论的应用,比如程序中实现了一某种数据结构,针对数据结构的某种算法,这些结构和算法都具备一些固定的性质。你的程序具备了这些性质,就在一定层面上(这里是运行时)具备了秩序。数据结构和算法的秩序,就是你的代码“美”的体现;
2. 紧接着就是代码的可约性。也就是你的逻辑是不是可以再化简的,一个等式越化简越接近结果,一段代码越化简越接近本质。你实现的基本算法和数据结构,每一行代码都是必须的吗?如果能够化简,说明逻辑是可约的。如果你能保证代码再简单不过了,你就对自己代码有了自信;
3. 普适性。一段代码是否可以适用于多种类型的输入,比如泛型算法;
4. 对称性。对称性看的往往不是代码逻辑,而是代码本身。最典型的,平移对称。处在同一层次上的所有函数/类的命名、注释风格相同,内部相似(不是相同)逻辑顺序相同,那么可以认为具备平移对称。对称性的好处不仅仅是代码好看,它通常意味着管理一处代码的经验可以不经改变的应用到另一处。从代码阅读/重构,到用正则对代码做静态分析,再到抽象出程序库或者框架,都依赖于这种平移对称。除了代码外,系统本身也有对称性。代码或系统的对称性和可维护性通常是正相关的。
一段代码或者系统能够保证的性质越多,也就是越具备秩序。就越给人以“美”感觉。相反,如果自己写出来的代码不能保证秩序,就会给他人甚至自己以“丑”的感觉。没有秩序的代码,也就是混沌代码。不断发现和学习更多的性质,并练习如何在代码里保证这些性质,就是将代码由“丑”,变“美”的过程。

 

转载于:https://www.cnblogs.com/code-style/p/3279239.html

你可能感兴趣的文章
分布式光伏发电建设中的逆变器及其选型
查看>>
UML中关联,组合与聚合等关系的辨析
查看>>
《大数据管理概论》一3.2 大数据存储与管理方法
查看>>
ios的google解析XML框架GDataXML的配置及使用
查看>>
netty-当一个客户端连接到来的时候发生了什么
查看>>
PHP_5.3.20 源码编译安装PHP-FPM
查看>>
在51CTO三年年+了,你也来晒晒
查看>>
js控制图片等比例缩放
查看>>
Java高级开发工程师面试考纲
查看>>
FreeMarker表达式
查看>>
Debian9.2 下使用vnstat查看服务器带宽流量统计
查看>>
NGINX + PHP-FPM 502
查看>>
Openstack API常用命令
查看>>
OpenSSL漏洞凶猛来袭 慧眼恶意代码监测应对有方
查看>>
C语言 喝汽水问题
查看>>
ubuntu 下安装 mysql
查看>>
关于k-means聚类算法的matlab实现
查看>>
一键安装Gitlab后的备份、迁移与恢复
查看>>
因为本人工作繁忙,精力有限,本博客停止更新。有兴趣的博友可以关注我在CSDN上的主博客...
查看>>
SQL server查看触发器是否被禁用
查看>>