KEEP IT SIMPLE, STUPID!

  • 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原则”无处不在。大部分隐式的UNIX哲学不是这些前辈所说的,而是他们所做的和UNIX自身建立的例子。从整体上看,我们能够抽象出下面这些观点:

1、 模块性原则:写简单的,通过干净的接口可被连接的部件。
2、 清楚原则:清楚要比小聪明好。
3、 合并原则:设计能被其它程序连接的程序。
4、 分离原则:从机制分离从策略,从实现分离出接口。
5、 简单原则:设计要简单;只有当你需要的时候,增加复杂性。
6、 节俭原则:只有当被证实是清晰,其它什么也不做的时候,才写大的程序。
7、 透明原则:为使检查和调试明显更容易而设计。
8、 健壮性原则:健壮性是透明和简单的追随者。
9、 表现原则:把知识整理成资料,于是程序逻辑能变得易理解和精力充沛的。
10、最小意外原则:在接口设计中,总是做最小意外事情。
11、沉默原则:当一个程序令人吃惊什么也不说的时候,他应该就是什么也不说。
12、修补补救:当你必须失败的时候,尽可能快的吵闹地失败。
13、经济原则:程序员的时间是宝贵的;优先机器时间节约它。
14、产生原则:避免手工堆砌;当你可能的时候,编写可以写程序的程序。
15、优化原则:在雕琢之前先有原型;在你优化它之前,先让他可以运行。
16、差异原则:怀疑所有声称的“唯一真理“。
17、可扩展原则:为将来做设计,因为它可能比你认为来的要快。

K.I.S.S 原则的更多相关文章

  1. C#编程实践–产假方案优化版

    前言 既然作为一个踏踏实实学习技术的人,就要有一颗谦卑.虚心和追求卓越的心,我不能一次就写出很完美的代码,但我相信,踏踏实实一步一步的优化,代码就可以变得趋近完美,至少在某一个特定场景下相对完美,这和 ...

  2. PKI 笔记

    PKI – Public Key Infrastructure , 通常翻译为公钥基础设施. PKI 安全平台提供的4个服务,来保证安全的数据,分别是: l  身份识别 l  数据保密 l  数据完整 ...

  3. HBase Scan流程分析

    HBase Scan流程分析 HBase的读流程目前看来比较复杂,主要由于: HBase的表数据分为多个层次,HRegion->HStore->[HFile,HFile,...,MemSt ...

  4. SAMP论文学习

    SAMP:稀疏度自适应匹配追踪 实际应用中信号通常是可压缩的而不一定为稀疏的,而且稀疏信号的稀疏度我们通常也会不了解的.论文中提到过高或者过低估计了信号的稀疏度,都会对信号的重构造成影响.如果过低估计 ...

  5. 2.3-STP生成树

    2.3-STP生成树     单点失效(signle point of failure)及其解决方法:     当两个Segement之间只有一条物理连接时就有可能出现单点失效→ 单方面的故障导致全网 ...

  6. linux学习第一周

    1. 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别 2. 安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图. 3. 配置环境变量,实现执行hi ...

  7. 敏捷开发:代码Review

    热情高涨 代码走查作为一种流程形式,起初大家的参与热情非常高涨. 因为,自己可以学习到别人一些巧妙的思想,自己的代码和习惯都暴漏出来. 这个过程中不断地吸收和改正. 但是...... 我们一开始组织的 ...

  8. 任务调度问题(贪心) hdu4864

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4864 The company hopes to maximize the number of the t ...

  9. CentOS7.6操作系统安装实例以及Linux版本、哲学思想介绍

    Linux起源1991年的10月5日,Torvalds在comp.os.minix新闻组上发布消息,正式向外宣布他自行编写的完全自由免费的内核诞生(Freeminix-like kernel sour ...

随机推荐

  1. python基础13 ---函数模块3(正则表达式)

    正则表达式 一.正则表达式的本质 1.正则表达式的本质(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的 ...

  2. 根据UI找对应的j s 脚本

    1.页面内容的脚本 2.页面外部脚本 3.根据UI找j s 脚本

  3. C#转换人民币大写金额

    /// <summary> /// 转换人民币大写金额. /// </summary> public class RMBConverter { /// <summary& ...

  4. 【leetcode刷题笔记】Permutations II

    Given a collection of numbers that might contain duplicates, return all possible unique permutations ...

  5. JavaScript 练习,变量,数组,函数,对象, with for 语句

    JavaScript 基于对象 和 事件驱动!!! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  6. 大话设计模式--桥接模式 Bridge -- C++实现实例

    1. 桥接模式: 将抽象部分与它的实现部分分离,使它们都可以独立的变化. 分离是指 抽象类和它的派生类用来实现自己的对象分离. 实现系统可以有多角度分类,每一种分类都有可能变化,那么把这种多角度分离出 ...

  7. CSS3按钮效果制作

    CSS3按钮效果制作 首先附上效果图,按下去有一种下沉的效果, 未按效果 按下去效果 原理:第一个按钮相对比较简单,就直接是一个双重阴影效果,然后鼠标按下去让他的margin-top值为-3px,阴影 ...

  8. JQuery 常用代码

    1.选择器 1.根据标签名: $('p')  选择文档中的所有段落    2. 根据ID: $("#some-id")    3.类: $('.some-class') $('.t ...

  9. 关于输出用%lf和%f的问题

    关于输入,float用%f,double用%lf 而输出时,无论是float还是double,都用%f 原文请见:http://poj.org/showmessage?message_id=12692 ...

  10. 浏览器访问web站点原理图

    启动tomcat,在浏览器中输入http://localhost:8080/web_kevin/hello.html,发生的事情如下: 1.浏览器解析主机名,即解析localhost.浏览器首先会到本 ...