正确才是硬道理?No,KISS!

        最近,看了微软亚洲研究院研究员刘未鹏老师的文章《编程的首要原则》(http://mindhacks.cn/2009/03/09/first-principles-of-programming/),感觉那些答案都蛮有意思的。作为一个准程序员,我也想说两句。
 

        在这篇文章中,作者就“你们认为编程的首要原则是什么?”与网友展开了讨论,共给出了5种答案,包括:获得最多认同的答案;获得第二认同的答案;一些众所不一定周知的答案;一些众所很可能周知的答案和最幽默的答案。其中,“KISS”(Keep It Simple Stupid)挺有意思的,它要求程序要尽量简单,越简单越好。

 

        在有关程序设计语言(像《C程序设计》)和算法(像《算法设计与分析》)这类书上,前辈们总结了好的算法或程序需要具备的几个特性,有:正确性、简明性、效率和最优性,而正确性是排在最前面的。因此,不管怎样,我觉得,“编程的首要原则”是要确保程序的正确性,非简单性。

 

       作为菜鸟级程序员,我们不可能有多么高超的编程技巧,这时首要的就是要保证自己编出来的程序是正确的,要让人能够看懂。在水平有所提升以后,除了正确性之外,再考虑其它方面的东西,像简单或最优等。

 

        大家都经历过很多考试,在考试之前,我们都会接触到很多解题的技巧,都会用好几种方法来解答一道题目。但上了考场之后,才发现时间根本不够用(特别简单的考试除外),做完题都难,还不要说用技巧了,这时就要首先确保正确性,要保证高的正确率。编程也一样,每个人的任务都很多,时间也比较的紧迫,有时能够编出来都难,更不要说要让程序简单、优化了。

 

        因此,正确性才是编程的首要原则!

---------------------------------------------------------------------------------------------

        2015年4月2日修改:

        最近重读了这篇三年多之前写的文章,似乎明白了为什么很多软件产品越做越差,最终走向了“万劫不复的深渊”。因为很多人编写程序的想法和我当时的想法一样:先保证程序正确、功能正常,其它的以后再说。

        在我参与过的软件开发项目中,有些时候,版本的开发时间非常的紧。在最初的会议上,开发经理就明确要求优先保证功能的实现,其它的留待以后优化。而当软件版本发布之后,就再也没有人提程序优化的事情了。下次有新需求的时候,大家才会发现上一个版本的程序写得是多么的糟糕。但没有人想到要先对程序进行优化甚至重构之后再实现新的需求,而是“破罐子破摔”,继续在低质量的代码上编写低质量的代码。如此一个恶性循环,最后的程序是千疮百孔,已无力回天。

        那为什么要提倡“KISS”(Keep It Simple Stupid)呢?“KISS”意味着程序有以下特征:

        1) 排版工整、变量命名规范、注释得当。

        2) 逻辑清晰、接口定义清楚、函数封装得体。

        3) 可扩展性强、便于维护。

       “KISS”同时也是实现程序“正确性”的最佳途径,因为简单意味着无错,或者是即使有错误也能够被及早发现。遵循“KISS”原则,那么设计程序时采用的便是最简单直接的方法,逻辑清晰,不管是对于作者本人,还是对程序进行评审的人而言,都能够迅速理解程序实现的功能,bug很难生存。 

       如何检验一套程序是否是好的程序?我认为,如果一个新手能够很快将程序看懂并理清程序的逻辑,那么这个程序就是好程序。

        “第一次就将事情做好”,每个开发人员都应该将这句话牢记心中。Duang,说起来容易,做起来难。确实,大家在实践中去学习吧。

时间: 2024-11-01 16:07:39

正确才是硬道理?No,KISS!的相关文章

经济萧条不死才是硬道理

经济萧条 如何过冬? 我个人认为战略思考80%的时间是很痛苦,只有痛苦完了以后会感觉很快乐,但是在思考的时候大部分是痛苦的时候. "一个团队如何走出原始森林?":一个错误的战略也比没有战略好! 给大家讲一个故事,请大家闭上眼睛,设想一下突然之间时间倒流,我们70个人突然之间我们到了一个原始森林里面,这个时候我们怎么办?听谁的? 假设有人站起来说:我有一个指南针.我们沿着一个方向走,我们经历了千辛万苦,花了三个月时间走出来了.走出以后,他一脸严肃地跟我们说,对不起我这个指南针是假的.也就

安全专家并非都靠谱 实践才是硬道理

近期一项调查显示,软件专家能够对应用安全的概念有基本了解, 但是,他们却无法修复由此所引发的安全问题.498)this.width=498;' onmousewheel = 'javascript:return big(this)' border="0" alt="安全专家并非都靠谱 实践才是硬道理" src="http://s1.51cto.com/wyfs02/M02/54/8E/wKiom1SGYvaCJR5FAACu4h4RvZI693.jpg&q

岳浩:搜索引擎营销 效果才是硬道理

中介交易 SEO诊断 淘宝客 云主机 技术大厅 搜索引擎营销其实并不复杂,简单地说,用户在搜索引擎搜索相关关键词时,只要能在搜索结果看见我们的推广信息,这就是搜索引擎营销.搜索引擎营销通常是通过三种方式来实现:竞价排名.SEO和第三方网站的推广.中小企业在进行搜索引擎营销时,岳浩认为关键是要结合产品的特点和企业自身的情况来选择营销方式,从而达到营销效果的最大化.毕竟对于企业来说,技术只是服务于营销的手段,营销效果才是硬道理. 一.竞价排名让我们的企业营销立竿见影 竞价排名就是在百度.Google

省钱才是硬道理 建站要有新思路

中介交易 SEO诊断 淘宝客 云主机 技术大厅 2008年是网络社区快速发展的一年,国内SNS应用得到空前的普及.随着以UCenter Home为代表的SNS建站产品的推出,论坛/BBS普及SNS应用的技术门槛越来越低. 面对SNS的机遇,广大站长又是如何看待互联网技术及应用的呢?近日,"第四届中国互联网社区发展状况调查"(http://event.comsenz.com/2008report/)活动主办方康盛创想(Comsenz)公司和艾瑞咨询专门组织了有关互联网技术及应用的社区主题

互联网的冬天,活下来才是硬道理

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 归置完最后一件家具,索罗网的站长长喘了一口气,终于可以坐下来歇歇了,忙活了几天,"家"终于搬完了,这是互联网的这个冬天来临以后,他们"瘦身"计划的一部分. 半年多前,当索罗网刚刚上线的时候,互联网还没有现在这么萧条,新站在不断产生,站长在满世界找钱,VC们也都频频瞄准好的目标下手.谁也不会料到过了几个月

虚拟主机势不可挡的魅惑 好用才是硬道理

虚拟主机的热销带动了虚拟主机业的兴起,各类的虚拟主机商在国内遍地开花,行业参差不齐,显得非常的混乱.那么作为有建站需求的企业和个人,当然要选择品牌和信誉好,并且价格合理的主机商.中国8强虚拟主机www.72e.net商联动天下集好用.安全.高速,优惠于一身,定能满足你的要求.例如云虚拟主机买2年送1年,买3年送2年,买5年送5年,1G云虚拟主机5折,市场价199元. 好用才是硬道理 对于没有太多专业知识的人士来说,操作控制面板是一件比较复杂的事情,有些专业术语甚至让人看不懂.联动天下采用业内最智

环信认为:光说专业没用,好用才是硬道理

日前,环信(http://www.easemob.com)在北京召开了即时通讯云新品发布会,发布会上,环信CEO刘俊彦公布了环信10月中旬的业绩,超过8402个App注册了环信,同时环信SDK覆盖的用户数超过8200万.这使得,环信成为真正的即时通讯云最大规模平台.而环信之所以能够取得如此骄人业绩,与环信倡导的高品质更好用有极深关系. 据调研,App开发者已经逐渐认识到,实现社交化需要使用第三方即时通讯云平台,而选择第三方即时通讯云平台的关键是看平台是否稳定.可靠.好用.据了解,环信是中国上线最

神马都是浮云,pv才是硬道理

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 PR已成历史,PV才是王道 至今为止已当了七八年的站长,七八年中亲眼目睹了各大网站的兴衰,看透了百度谷歌的明争暗斗.也被百度封杀了无数次,但一直没有放弃,这才成就了今天的中国演讲网.经历了七八年的风雨最终才知道PR已不重要,pv才是最终的目的.现在总结一下我近几年维护网站的一些误区. 没有原创意识,疯狂复制采集. 建站初03年初不懂也没接触过

坚持才是硬道理 网站优化没有捷径可走

中介交易 SEO诊断 淘宝客 云主机 技术大厅 总有很多人在不断的琢磨搜索引擎算法,而来自谷歌或者百度的消息则告诉我们,搜索引擎本身每天都在数以百次的变换调整算法.其原因很简单,作为他们最高做核心的机密,其排名算法是可不能让外人揣摩透的.但是搜索引擎本身又似乎在有意的透漏一些天机,比如前段时间发布的百度优化指南,其实,此前谷歌也曾发布过类似的文档. 笔者以为真正的优化,其实就是核心的机密就是提升用户体验,别无它途.想法设法获取高质量的链接,不断的丰富网站内容,其目的也是给搜索引擎制造一种网站受用