KISS表示的是什么?

KISS 是Keep It Stupid Simple 或 Keep It Simple,Stupid的缩写。

KISS的含义

该原则在我的多年的软件工程生涯中取得关键、巨大的成功。当今的软件工程师和开发者们有个共同的问题,那就是他们总是慢慢地使得问题复杂化。正确的做法应该是当开发者遇到一个问题后,把问题拆分成一个个能够明白的小块,然后进入编码阶段。但我会说,10个开发者中有8个或9个都没有把问题分解成足够小或可以理解的足够小的部分。这就导致了即使是一个非常简单的问题最后也变成了非常复杂的实现,另外一个副作用就是意大利面代码,在BASIC里只是一个goto语句的事情,在Java中却需要500到1000行代码,每个方法都有几百行代码。

你需要先想好问题的解决步骤一共分为几步,然后再进入编码。而不是拿到需求后,就开始一边写代码一边去满足需求。这样做的好处就是你的代码会变的足够容易理解和足够清晰。

我们能从KISS中获取到什么好处?你可以更好地解决更多问题。

你将可以通过很少的几行代码去解决复杂的问题。

你将可以产出高质量的代码。

你将可以构建更大更易维护的系统。

当新的需求来了后,你的代码将会更加的灵活,易于扩展、易于修改和重构。

你将完成比你想象得更多的事情。

你将能够工作在一个大型开发团队和大型项目中,因为所有的代码都是stupid simple。

我如何把KISS原则用到我的工作中?

这里有几个简单的步骤可供执行,但有一定挑战。就像说起来的那么简单,keep it simple,主要是需要耐心,更多的靠你自己。要谦虚,不要认为自己是个天才,这是你第一个误解。只有谦虚了,你才能真正达到超级天才的水平,即使不行,who cares!你的代码那么stupid simple,所以你不需要是个天才!

将你的任务分解为4-12小时的子任务。

把你的问题拆分成多个小问题。每个问题用一个或者很少的几个类来解决掉。

保持你的方法足够小,每个方法永远不要超过30-40行代码。每个方法都应该只处理一个小小的问题,不要搞太多uses case进去。如果你的方法中有多个分支,尝试把他们拆分成多个小的方法。这样不仅容易阅读和维护,找bug也更快。慢慢的你将学会爱。

让你的类也小点,原则和上面的方法是一样的。

先解决问题,然后开始编码。不要一边编码,一边解决问题。这样做也没什么错,但你有能力提前把事情切分成多个小的块,然后开始编码可能是比较好的。但也请你不要害怕一遍遍重构你的代码。另外行数还不是为了衡量质量的标准,只是有个基本的尺子而已。

不要害怕干掉代码。重构和重做是两个非常重要的方面。如果你遵循上面的建议,重写代码的数量将会最小化,如果你不遵循,那么代码很可能会被重写。

其他的任何场景,都请你尝试尽可能的简单,simple,这也是最难的一步,但一旦你拥有了它,你再回头看,就会说,之前的事情就是一坨屎。

kiss原则包括什么_编程中的kiss原则是什么?相关推荐

  1. kiss原则包括什么_标书中的KISS原则

    在写标书的过程中有许多纠结的事情.总有那么几个专业术语字数很多,而标书题目有字数限制,既要把专业术语放进去,又要不超字数,很头疼,肿么办?很长的专业术语在标书中反复出现显得很啰嗦,秒变唐僧,有木有?英 ...

  2. kiss原则包括什么_外汇交易中的KISS原则

    原标题:外汇交易中的KISS原则 外汇交易中有一个KISS原则,对投资者的外汇交易有着一定的帮助,这里跟大家讲述一下. KISS原则即keepitsimpleandstupid,在外汇中可以理解为方法 ...

  3. 最简单的python语言程序设计_编程中最简单的语言Python,这样学或许更容易

    最近微信小程序上面出了一个跳一跳的小游戏 大家有没有玩呀? 编程中最简单的语言Python,这样学或许更容易 分享之前我还是要推荐下我自己建的Python开发学习群:628979297,群里都是学Py ...

  4. 设计原则:公理系统在编程中的运用

    背景 说来惭愧,高中是花钱买上的,高中虽然经过努力考试了大学,可惜小学和初中的知识学习的不扎实(当时也学不会),感觉到现在都没有开窍,前几天读<古今数学思想>,觉得数学和编程简直就是一回事 ...

  5. spring定时器突然不执行了_编程中常常遇到了定时器不工作的问题分析

    我们日常编程中在使用定时器后,发现定时器并没有按照自己的意图去计时,出现了不计时的错误,进而怀疑是否是硬件故障,CPU是否正常等等,浪费了很多的时间去排查,实际上就是由于我们对定时器的特性不了解所造成 ...

  6. 编程基础 垃圾回收_编程中的垃圾回收指南

    编程基础 垃圾回收 什么是垃圾回收? (What is Garbage Collection?) In general layman's terms, Garbage collection (GC) ...

  7. kiss原则包括什么_kiss原则包括职场沟通相关阅读-kiss原则包括职场沟通文章阅读-123文学网...

    职场沟通必备技巧有哪些?只要你奔波于忙碌的职场,每天就会有一个共同的"工作"要做--那就是,回答问题.下面小编为大家整理了职场沟通的必备技巧,欢迎大家阅读参考! 职场沟通必备技巧 ...

  8. 吴枫 python小课怎么样_编程中,有哪些好的习惯从一开始就值得坚持?

    电影<喜剧之王>里,周星驰饰演的尹天仇,是一个渴望成为真正的演员,却不断沦为落魄跑龙套的小人物. 即便如此,他对演戏的态度始终认真而可敬.他每天不但锲而不舍寻找演戏机会,还在街坊福利社开了 ...

  9. java开闭原则实现代码_向对象的六大原则

    前言 我们都知道面向对象有六大原则,23种设计模式.它们可以指导我们如何写出更加优秀的代码.六大原则是基础,我们面向对象编程应该尽量遵从这六大原则,才能写出优秀的代码. 23种设计模式是前人为我们总结 ...

最新文章

  1. xp系统如何将计算机放到桌面快捷方式,如何整理xp系统电脑桌面快捷方式图标...
  2. uNetXST:将多个车载摄像头转换为鸟瞰图语义分割图像
  3. phpstorm配置Xdebug进行调试PHP教程
  4. 探秘Java中String、StringBuilder以及StringBuffer
  5. 上传图片---SpringMVC学习笔记(十一)
  6. SAP Analytics Cloud里的Smart Discovery功能介绍
  7. c语言构造体二维数组,怎么才能把结构体里面的二维数组打印出来?
  8. 深度学习之循环神经网络(3)梯度传播
  9. request用法_虚拟语气用法总结
  10. 一步一步学Silverlight 2系列(33):Silverlight 2应用Web Service两例
  11. IOS文章地址暂时记录
  12. 【VMCloud云平台】SCOM配置(十五)-启用SCOM日志审计(ACS)
  13. 医疗健康领域的短文本解析探索 ----文本纠错
  14. 蓝桥杯十六进制转化为十进制
  15. ffmpeg ffplay ffprobe资料整理
  16. 202019 大战360弹窗广告
  17. 行政区划矢量数据介绍与下载教程
  18. AutoCAD各版本注册表参数
  19. 我的世界服务器怎么开启坐标显示,坐标 - Minecraft Wiki,最详细的官方我的世界百科...
  20. 易道云控数字引擎下的企业协同办公

热门文章

  1. 派拓网络:这个“云安全市场”不一般
  2. win10设置自定义短语为当前时间
  3. CRC校验原理及步骤
  4. 程序员学金融-日本(3)- 日本烟酒消费片面观
  5. XML入门教程(XML这样学)
  6. 通信达linux版,中标麒麟V6下wine完美运行通达信
  7. (转)网站域名大全全全(供方便查找)
  8. android studio 调试cocos2dx c++代码
  9. js红包雨js特效代码
  10. java手机cpu测试_CPU性能检测下载