文档章节

unix编程艺术与原则

水海云
 水海云
发布于 2017/09/07 20:43
字数 401
阅读 33
收藏 0

尽量使用简单的算法配合简单的数据结构。

编程的核心是数据结构,而不是算法。数据要比编程逻辑更容易驾驭,在设计中,你应该主动将代码的复杂度转移到数据之中去。

UNIX原则

  1. 模块原则:使用简单的接口拼合简单的部件
  2. 清晰原则:清晰胜于机巧
  3. 组合原则:设计时考虑拼接组合
  4. 分离原则:策略与机制分离,接口与引擎分离
  5. 简洁原则:设计要简洁,复杂度能低则低
  6. 吝啬原则:除非别无他法,不要编写庞大的程序
  7. 透明性原则:设计要可见,以便审查和调试
  8. 健壮原则:健壮来自透明与简洁
  9. 表示原则:把知识叠入数据以求逻辑质朴而健壮。
  10. 通俗原则:接口设计避免标新立异
  11. 缄默原则:如果程序没什么好说的,就保持沉默
  12. 补救原则:出现异常时,马上退出并给出足量的错误信息
  13. 经济原则:宁花机器一分,不花程序员一秒
  14. 生成原则:避免手工hack,尽量编写程序去生成程序
  15. 优化原则:雕琢前先得有原型,跑之前先学会走
  16. 多样原则:决不相信所谓的“不二法门”的断言
  17. 扩展原则:设计着眼于未来,未来总比预想快

K.I.S.S:Keep It Simple,Stupid.

Those who cannot remember the past are candemned to repeat it. ——《The Life of Reason》,1905 George Santayana

© 著作权归作者所有

共有 人打赏支持
水海云
粉丝 50
博文 120
码字总数 101938
作品 0
深圳
程序员
私信 提问
Unix设计哲学原则(摘自《Unix编程艺术》)

看了《Unix编程艺术》,这个里面讲的观念对现有产品和项目的设计有很多借鉴意义,建议大家都能读读(不过中文版翻译的有点烂,看的有点纠结)。这里总结下几种原则。 Unix哲学的原则: --模块...

IT熊猫
2015/01/21
338
0
编程的艺术门槛

编程是门艺术,这个说法由来已久。最近在朱赟的公众号(滴答滴答)读到一篇文章《设计是门逻辑学,然后才是美学》,文中作者漂洋过海追寻艺术,老师却说:“设计不是艺术!”。如果设计都不是...

切切歆语
2016/11/04
6
0
unix设计十七条原则之一(unix编程艺术笔记)

最近在学习《unix编程艺术》。第一章非常不错,讲了很多Unix的历史,哲学基础,其中最重要的是提到的十七条设计原则。很多原则自己也知道,但是从来没有总结的如此详细深刻。 下面的内容大部...

晨曦之光
2012/06/06
43
0
什么是数据驱动编程

前言: 最近在学习《Unix编程艺术》。以前粗略的翻过,以为是介绍unix工具的。现在认真的看了下,原来是介绍设计原则的。它的核心就是第一章介绍的unix的哲学以及17个设计原则,而后面的内容...

晨曦之光
2012/06/06
82
0
[转]什么是数据驱动编程

前言: 最近在学习《Unix编程艺术》。以前粗略的翻过,以为是介绍unix工具的。现在认真的看了下,原来是介绍设计原则的。它的核心就是第一章介绍的unix的哲学以及17个设计原则,而后面的内容...

文艺小青年
2017/05/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

开关电源拓扑图一览

colinux
24分钟前
0
0
Apache日志不记录访问静态文件,访问日志切割,静态元素过期时间设置

Apache配置不记录访问静态文件的日志 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 vhost原始配置 <VirtualHost *:80> ServerAdmin test@163.com DocumentRoo...

野雪球
今天
3
0
聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
今天
4
0
Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
3
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部