KISS原则(Kiss Principle)
KISS原则(Kiss Principle)是什么
KISS是 Keep It Simple,Stupid。
其核心思想就是“解耦,解耦,再解耦”,职责单一化,功能单一化为以后的维护和重构都会带来极大的便利。
KISS原则的好处
- 以更快的速度解决更多的问题
- 以很简洁的代码来解决很复杂的问题
- 能写出高质量的代码
- 能完成更大的系统并且它很容易维护
- 你所编写的代码会更加灵活,易于扩展、修改或重构。并且能够适应需求的变化。
如何在工作中实践KISS原则
- 先解决问题,再考虑编码。先将问题拆分的足够小,再动手编码完成这些功能
- 尽量缩短每个方法,它只要负责解决一个问题就足够了。每个方法的代码最多不要超过30-40行。
- 如果在方法中需要兼容很多条件,那么你应该将这些条件拆分为更小粒度的方法。
- 经常重构你所编写的代码。不要害怕删除代码
- 在其它所有情况下,尽量保持代码的简洁。
想要做出KISS的方案,就必须对面对的问题有透彻的了解,有足够的经验和能力,并经过深思熟虑,这才能做出简洁的抽象。
一些世界上最大的算法的代码量总是很少的。并且通过阅读那些代码,我们可以很容易的理解其含义。算法的创造者,将问题简化简化再简化,最后再去实现它。很多最伟大的人,(他们)并不是编码高手,但是却创造了伟大的代码。
转载自:https://github.com/YokiaJing/learner/issues/1
KISS原则(Kiss Principle)相关推荐
- kiss原则包括什么_求职干货想让HR瞬间对你产生好感?简历做好这三个原则
国内HR:你的中文简历,很辣眼!您正在收看的是,由MHC CCA 小球纸给大家带来的一大全新栏目--CCA 求职专栏! 还在为难以通过简历和面试表现获得面试官青睐而苦恼吗? 还在为无人解答实习过程中遇 ...
- 设计原则之KISS原则和YAGNI原则
设计原则之KISS原则和YAGNI原则 KISS原则 KISS(Keep It simple and Stupid)原则总的来说就是简单,你的代码要写的简单易懂.增加代码的可读性. 并不一定是代码量的 ...
- KISS principle (kiss原则)
Keep It Simple Stupid (KISS) 原则声明 即使解决方案看起来很愚蠢,简单的解决方案也比复杂的解决方案好. 描述 该KISS原则是关于追求简单.现代编程语言,框架和API具有强 ...
- 【整理】KISS原则介绍
KISS原则介绍 KISS 原则是用户体验的高层境界,简单地理解这句话,就是要把一个产品做得连白痴都会用,因而也被称为"懒人原则".换句话说来,"简单就是美". ...
- 如何理解“KISS 原则”?
KISS 原则的英文描述有好几个版本,比如下面这几个. Keep It Simple and Stupid. Keep It Short and Simple. Keep It Simple and ...
- 进阶篇:4.1)DFA设计指南:简化产品设计(kiss原则)
本章目的:理解kiss原则,明确如何简化产品的设计. 1.前言:kiss原则,优化产品的第一原则 如果要作者选出一个优化产品的最好方法,那一定是kiss原则莫属.从产品的整体设计到公差的分析,kiss ...
- Atitit保证架构超前性 前瞻性 目录 第一章 简单抽象原则 道和术的区别 1 第一节 原则 kiss 1 第二节 提升到层次哲学层次 1 第三节 命名也要通用抽象 隐藏细节 1 第二章 通用性原
Atitit保证架构超前性 前瞻性 目录 第一章 简单抽象原则 道和术的区别 第一节 原则 kiss 第二节 提升到层次哲学层次 第三节 命名也要通用抽象 隐藏细节 第二章 通用性原则 扩展性 第一 ...
- 设计原则—KISS原则和YAGNI原则
怎么理解kiss原则中的"简单"两字? 什么样的代码才算简单? 怎样的代码才算复杂? 如何才能写出简单代码? YAGNI原则和KISS原则说的是一回事吗? KISS原则的英文版本描 ...
- 软件开发的KISS原则
KISS原则是软件开发中的最顶层的思想,全称为:Keep It Simple & Stupid.从英文的直译就是追求简单和易用.根据生活的经验:愚蠢的人,总会将简单的问题弄复杂:智慧的人,总是 ...
最新文章
- python asyncio教程_python中使用asyncio实现异步IO实例分析
- R语言构建xgboost模型并评估模型(测试集、训练集每一轮):误分类率指标(misclassification rate)、logloss
- 简单的一阶低通滤波器
- get请求乱码问题,用encodeURI和decodeURI
- Javascript学习------内部对象 String Date event(重要)
- HTML DOM那点儿事儿
- scala N99(18-28)
- 娄底二中高考2021成绩查询,2021年娄底高考状元名单公布,娄底高考状元学校资料及最高分...
- 链表题目--1 删除链表中所有等于val的值
- LeetCode 43. 字符串相乘(大数乘法)
- shell不允许输入空字符_shell脚本编程之控制脚本
- sleep()和wait()的区别-转
- struct interface_GCTT | 接受 interface 参数,返回 struct 在 go 中意味着什么
- 嵌入式开发中数值常量如何转化为内存地址?
- 【程序】STM32F407VE单片机驱动两片TJA1050 CAN收发器并进行双CAN通信
- 用计算机怎么算斜边,斜边计算公式
- 副本全攻略之哀号洞穴(超详细)
- python 使用while循环输出*组成的菱形_python实现while循环打印星星的四种形状
- c++第二周任务一*(1‐1)编写递归函数将十进制数转换成二进制数输出。
- 十、生产者消费者问题
热门文章
- 嵌入式Linux下的Qt环境搭建
- 槃星—第2天任务—JAVA实现游戏数据修改以及风控设计
- 微软沈向洋自述:我职业生涯里的七堂课
- 迅雷看看看电影,画面是绿色的,不能看
- 中华在线词典 v1.82 官方
- 优酷来疯直播安卓控件,支持flv、rtmp,支持添加视频特效等等
- [信息系统安全实验] 实验1.Web安全
- 双屏Android NDS模拟器,强悍的NDS模拟器《DraStic》移植到安卓
- 海康录像机识别不到硬盘_海康威视监控硬盘录像机NVR画面显示资源不足解决办法设置方法...
- 机械设计制造及其自动化-本科课程