简洁代码之哲学
2010-04-13 00:37
190 查看
本文转载自互联网:http://www.canyouateam.com/?p=112
作为开发人员,我们的首要任务是写出能够工作的代码。但是,仅仅“能够工作”还不足矣,为了能够持续提供真正的价值,代码一定要简洁。
每个人对简洁代码的理解会有些许不同。但其中仍有共通之处:简单、无重复、易读、优雅。具有这些特征的代码易于维护,可以打破开发速度下降然后重写的怪圈,并能够持续提供真正的价值。
“作为代码的作者,我们的目的是让代码尽可能的易于理解。我们希望读者能够快速阅读我们的代码,而不是细细地研究。我们希望读者能够通过代码直接理解我们的想法,而不是辛苦的挖掘代码背后的含义。”
“编写函数的第一个原则是,函数要短小;第二个原则是函数要更短小。”
“不要害怕使用较长的命名,有意义的长命名要好于莫名其妙的短命名,同时也好于冗长的注释。”
“好名字的价值如何估计都不为过,记住Ward原则:当每一个子程序都只做它应该做的,你就拥有了简洁代码。编写简洁代码过程中,有一半的任务是为短小的函数选择正确的命名,函数越短小、越内聚,就越容易给它起一个有意义的好名字。”
“副作用其实就是说谎,你的函数本来要做一件事,但是却偷偷做了其他的事”
“编程的艺术一直就是语言设计的艺术,编程大师将系统看成是故事而不是程序,他们使用他们选择的编程语言来创建一个更复杂更具有表达性的语言,来讲述这个故事。”
作为开发人员,我们的首要任务是写出能够工作的代码。但是,仅仅“能够工作”还不足矣,为了能够持续提供真正的价值,代码一定要简洁。
什么是简洁代码?
简洁代码不仅仅是人们所希望的,并且是必须的。如果代码不简洁,开发的速度就会越来越慢。直到有一天,修改代码所引发的不确定性、痛苦感和挫败感会使团队宁愿重写所有代码。但是,如果重写的代码不能比原来的代码更简洁,那么同样的问题还会存在,几年后整个团队依然会在开始的地方打转。每个人对简洁代码的理解会有些许不同。但其中仍有共通之处:简单、无重复、易读、优雅。具有这些特征的代码易于维护,可以打破开发速度下降然后重写的怪圈,并能够持续提供真正的价值。
简洁代码哲学
“问题不在于代码是否简单,而在于代码能够在多大程度上脱离上下文仍能表达意图。”“作为代码的作者,我们的目的是让代码尽可能的易于理解。我们希望读者能够快速阅读我们的代码,而不是细细地研究。我们希望读者能够通过代码直接理解我们的想法,而不是辛苦的挖掘代码背后的含义。”
“编写函数的第一个原则是,函数要短小;第二个原则是函数要更短小。”
“不要害怕使用较长的命名,有意义的长命名要好于莫名其妙的短命名,同时也好于冗长的注释。”
“好名字的价值如何估计都不为过,记住Ward原则:当每一个子程序都只做它应该做的,你就拥有了简洁代码。编写简洁代码过程中,有一半的任务是为短小的函数选择正确的命名,函数越短小、越内聚,就越容易给它起一个有意义的好名字。”
“副作用其实就是说谎,你的函数本来要做一件事,但是却偷偷做了其他的事”
“编程的艺术一直就是语言设计的艺术,编程大师将系统看成是故事而不是程序,他们使用他们选择的编程语言来创建一个更复杂更具有表达性的语言,来讲述这个故事。”
相关文章推荐
- CSS架构:代码简洁原则
- 维护代码简洁,使用lombok消除冗长的Java代码
- 求一个串的反转串的方法很多。下面就是其中的一种方法,代码十分简洁
- 简洁的BP及RBF神经网络代码
- 知晓设计模式,框架,去提高开发效率,使代码简洁
- 从源代码分析modelDriven拦截器和params拦截器和拦截器prepare 和paramsPrepareParamsStack拦截器栈(让你的Struts2代码更简洁——如何培养框架设计能力
- 依赖注入——让iOS代码更简洁
- javascript让代码简洁
- 纯js分页代码(简洁实用)
- 超简洁CSS代码感应鼠标放大图片
- 书评:简洁代码──敏捷软件工艺指南
- jquip,更简洁的代码
- 去掉CSS赘余代码,CSS可以更简洁
- JS+CSS实现的竖向简洁折叠菜单效果代码
- Async/Await 简洁你的代码
- 超简洁又强大的幻灯片JS、CSS代码,兼容性强
- 《代码简洁之道》-学习笔记
- 一个基于MD风格的android对话框,代码兼容性很好,样式也非常简洁
- 使代码简洁的 5 条忠告-Delphi (转)
- 分享12个简洁漂亮的纯CSS3进度条特效动画代码