博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rob Pike 的 5 个编程原则
阅读量:6932 次
发布时间:2019-06-27

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

原则 1.

      你没有办法预测每个程序的运行时间,瓶颈会出现在出乎意料的地方,所以在分析瓶颈原因之前,先不要盲目猜测。

原则 2.

      测试(measure)。在测试之前不要优化程序,即使在测试之后也要慎重,除非一部分代码占据绝对比重的运行时间。

原则 3.

      花哨的算法在 n 比较小时效率通常比较糟糕,而 n 通常是比较小的,并且这些算法有一个很大的常数。除非你确定 n 在变大,否则不要用花哨的算法。(即便 n 不变大,也要先遵循第 2 个原则。)

原则 4.

      相对于朴素的算法来说,花哨的算法更容易出现Bug,更难调试。尽量使用朴素的算法和数据结构。

原则 5.

      数据占主导地位(Data dominates)。如果你选择了正确的数据结构,并且已把事情组织好,那么算法的效率显而易见。编程的核心是数据结构是,不是算法。

  Pike的第 1 条和第 2 条原则实际上重新强调了Tony Hoare那句名言,“过早的优化是万恶的根源”。Ken Thompson将Pike的第 3 条和第 4 条原则改写为“当遇到麻烦时,试试最简单粗暴的办法”,原则 3 和原则 4 也是 KISS 哲学的体现。Fred Brooks在《》中首先阐述了原则 5 ,原则 5 常常会被概括为“用最佳结构,写简单代码”。

转载地址:http://lymjl.baihongyu.com/

你可能感兴趣的文章
MySQL 共享锁和排他锁
查看>>
rabbitmq学习记录(五)交换机Exchange-fanout
查看>>
如何简洁优雅地实现Kubernetes的服务暴露
查看>>
Tcp的三次握手四次挥手
查看>>
bilibili源码泄漏后,程序员们从代码里扒出来的彩蛋
查看>>
Windows上python开发--2安装django框架
查看>>
Linux在root下把环境变量PATH配置错误的解决方法
查看>>
linux系统基础优化
查看>>
ACS5.X -AD-tacacs+ authentication
查看>>
apache与tomcat整合
查看>>
yum update命令升级系统而不更新某些指定软件包
查看>>
我的友情链接
查看>>
phpcms v9二级栏目生成到根目录后三级栏目无法访问的解决办法
查看>>
QDateTime的之前的时间如何获取和QTime简单使用
查看>>
Linux Performance Analysis and Tools(Linux性能分析和工具)
查看>>
深度分析puppet自带filebucket的备份恢复功能
查看>>
什么是SysWow64
查看>>
MAC 修改最大文件打开数
查看>>
FTP用户隔离
查看>>
Oracle数据库ASM磁盘组+ASM2_ARCH使用率高
查看>>