KISS原则就是Keep It Simple and Stupid. 简单是软件设计之美, 简单的设计使得软件产品易于开发, 易于维护. 简单代表着高质量, 少加班, 每个人都希望自己的工作是简单的.
在KISS原则之外, 应该有一个更重要的原则: Useful. 满足需求是一切产品的低限. 也许需求本身也应该KISS, 简单的需求意味着底成本, 高效率. 可惜客户有时候很难克制自己的欲望. 也许站在客户角度看见的KISS和我们开发者眼中的KISS不完全是一个概念. 有人说: 好的设计是客户做出来的, 开发者其实只是在帮助客户做设计.
Keep It Simple and Stupid, 最难的在于Keep. 一个人做一个Simple的设计并不难, 难的是让这个设计在需求变化的过程中保持简单. Keep是关键, Keep的时间就是这个设计的生命. 当一个产品无法再Keep Simple的时候, 维护就变的越来越困难, 渐渐的无法加入任何变化, 他的生命也就快结束了. 升级意味着重新做一个.
Keep Simple就是要抵抗需求的变化, 一开始的需求总是比较简单, 比如这样: 设计一个汽车驾驶程序, 他会在遇到红灯的时候停下来, 绿灯的时候向前进.
方案一:
if red_light then
stop()
else if green_light then
go()
end if
这是一个简单的需求, 给出的解决方案也很简单. But, 如果遇到这样的情景: 红灯已经亮了, 但是车前面有个人正在过马路, 他走的很慢. 这个时候当然不能go, 应该按响车喇叭, 等他走过去. 方案一必须要修改:
if red_light then
stop()
else if green_light then
if people_ahead then
ring()
else
go()
end if
end if
现实的情况仍然可能发生变化, 比如: 前面尽管是绿灯, 但是横向路口一辆救护车开过来, 或者前面有一个路牌"道路维修请绕行"......种种情况, 其结果就是要在原来的if-else里面加上一个新的判断.
这是一个Simple的设计, 但是很难Keep Simple. 当这个代码片断不断增加, 长度突破500行的时候, 任何相关的需求变更都是一场恶梦. 在软件开发中更复杂的情况我想大家都遇到过.
分享到:
相关推荐
高度模块化, 遵循 KISS原则的区块链开发框架
汉堡原则及KISS原则分享.doc
您不可不知的KISS原则——妙手回春ppt作品。
基于KISS原则的高度模块化区块链开发框架.zip
PPT原创作品26:你不可不知的KISS原则(妙手回春-2020年7月22日)PPT模板.pptx
高度预测,遵循KISS原则的区块链开发框架 官方网站和文档: : 官方插件库: : 典型案例: : chain33背后故事: 视频教程: 感谢 bug奖励 我们影响bug评价4个等级(不会奖励人民币,等值虚拟资产)。只有影响...
KissAPI-SQLServer::droplet:简单且可扩展的Web API,Rest API,适用于Windows和SQL Server的ASP.NET 4.8 Standard(2017及更高版本):racing_car:具有KISS原则-KiSqlServer
#取消维护# 查看新存储库: :
丹尼斯·里奇(Dennis MacAlistair Ritchie)提出的 KISS 原则,即 Keep it Simple Stupid,是控制软件复杂度的重要原则之一。 在设计软件系统时,我们需要遵循 Make each program do one thing well 的原则,即每...
第一组数字比较特殊,不允许为 0 第一种实现方式利用的是正则表达式,只用三行代码就把这个问题搞定了 第二种实现方式使用了 StringUtils 类、Integ
BIN是一个轻量级的前端框架,遵循KISS原则。 简单但功能强大。 它可以用于开发Moble应用程序,Web应用程序甚至台式机应用程序。特征仅需具备HTML,CSS,JavaScript技能面向对象和传统GUI应用程序的开发模式MVVM功能...
在报告书中,我们提出了界面设计的基本原则,包括用户导向原则、KISS 原则和布局控制原则等。用户导向原则强调了站在用户的角度来设计软件,了解用户的需求、目标、期望和偏好等。KISS 原则则强调了简洁和易于操作的...
在设计软件用户界面时,需要遵循一定的设计原则,包括顾客导向原则、KISS 原则、布局控制和视觉平衡等。顾客导向原则要求设计者站在顾客观点和立场上来考虑设计软件,理解顾客需求、目的、盼望和偏好等。KISS 原则...
islazy是一个Go库,其中包含一些我经常在项目中使用的,以实现的软件包,对象,帮助程序和函数。...谁在使用islazy? 如果您的项目正在使用该库,请将其添加到此自述文件并发送PR!执照这个图书馆是用 :heart_suit: 由...
unix是什么,它是一个操作系统,汇聚了很多黑客的智慧,他是一个开放,自由,KISS,单一的系统 它包含了一些哲学基础 模块原则:使用简洁的接口拼接的部件 清晰原则:清晰透明,容易理解 组合原则:这个基于模块原则...
这些知识点告诉我们,在PPT设计中,magic seven原则、KISS原则、10/20/30法则、图表和图片、简洁的设计、动画和效果的使用、口语、目标和结构、逻辑性、解决问题的基本方法、风格、布局、颜色、过程和工具等都非常...
NGUI3.10.2是严格遵循KISS原则并用C#编写的Unity,用于界面编写
系统设计以KISS原则(保持简单和愚蠢)为总体指导原则,注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。 Arch Linux 系统安装、删除和更新软件的软件包管理器叫做 pacman 。 Arch Linux 采用...