阅读更多

15顶
2踩

研发管理

原创新闻 什么是整洁的代码(Clean Code)?

2012-12-25 16:49 by 副主编 wangguo 评论(8) 有13469人浏览
什么样的代码才是真正好的、整洁的代码?来看看大牛们怎么说。

Bjarne Stroustrup,C++之父:
引用
我喜欢优雅、高效的代码:
  • 逻辑应该是清晰的,bug难以隐藏;
  • 依赖最少,易于维护;
  • 错误处理完全根据一个明确的策略;
  • 性能接近最佳化,避免代码混乱和无原则的优化;
  • 整洁的代码只做一件事。

Grady Booch,《面向对象分析与设计》作者:
引用
  • 整洁的代码是简单、直接的;
  • 整洁的代码,读起来像是一篇写得很好的散文;
  • 整洁的代码永远不会掩盖设计者的意图,而是具有少量的抽象和清晰的控制行。

Dave Thomas,OTI公司创始人,Eclipse战略教父:
引用
  • 整洁的代码可以被除了原作者之外的其他开发者阅读和改善;
  • 具备单元测试和验收测试;
  • 有一个有意义的名字;
  • 使用一种方式来做一件事情;
  • 最少的依赖,并明确定义;
  • 提供了一个清晰的、最小的API;
  • 应该根据语言特性,在代码中单独显示必要的信息,而不是所有的信息。

Michael Feathers,《修改代码的艺术》作者:
引用
  • 整洁的代码看起来总是像很在乎代码质量的人写的;
  • 没有明显的需要改善的地方;
  • 代码的作者似乎考虑到了所有的事情。

Ward Cunningham,Wiki和Fit创始人,极限编程联合创始人,Smalltalk和面向对象的思想领袖:
引用
  • 当你读代码时,你发现每个程序都如你期待的那样
  • 你可以称之为漂亮的代码
  • 代码完美展现了该编程语言的设计目的

总之,整洁的代码的特点:

  • 容易与其他人协作(简单、意图明确、良好的抽象、不出意料、合适的名称)
  • 针对现实世界,比如,有一个清晰的错误处理策略
  • 代码作者显然很关心软件和其他开发者(针对双方的可读性和可维护性)
  • 最小化(做一件事,最小的依赖)
  • 以最合适的方式解决问题
英文原文:What Is Clean Code?
15
2
评论 共 8 条 请登录后发表评论
8 楼 lper 2012-12-27 17:24
正在向此方向靠拢
7 楼 zhufengweihai 2012-12-27 14:56
看过,绝对好书,受益匪浅
6 楼 jfzshandong 2012-12-27 13:52
  
5 楼 zui4yi1 2012-12-27 12:23
能不能做到,这个,时间,需要时间
4 楼 ifox 2012-12-26 15:48
shenliuyang 写道
目测  iteye 十个人有九个做不到80%

........做到,哥也成大神了。
3 楼 shenliuyang 2012-12-26 13:13
目测  iteye 十个人有九个做不到80%
2 楼 bruceeye 2012-12-26 09:52
嗯,值得去看看!!!
1 楼 ljqian 2012-12-26 08:49
嗯,不错,《代码整洁之道》确实值得一看

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • cleancode代码整洁

    cleancode,顾名思义就是整洁的代码,或者说清晰、漂亮的代码,相信大多数工程师都希望自己能写出这样的代码。 也许这是个千人千面的话题,每个工程师都有自己的理解。比如我,从一个天天被骂代码写得烂的人,逐渐...

  • 表单验证之validform.js使用方法

    表单验证之validform.js使用方法Validform使用入门 1、引入css 请查看下载文件中的style.css,把里面Validform必须部分复制到你的css中(文件里这个注释 "/*==========以下部分是Validform必须的===========*/" 之后的部分是必须的)。之前发现有部分网友把整个style.css都引用在了页面里,然后发现样式冲突了。 2、引入js (jquery 1.4.3 以上版本都可以) <script type="text/javasc

  • JQuery 验证插件validate的showErrors参数的使用

    1.showErrors的定义 http://jqueryvalidation.org/validate   介绍了showErrors的定义。 showErrors Type: Function() A custom message display handler. Gets the map of errors as the first argument

  • Ajax实例(二)Validform表单验证插件的应用

    2019独角兽企业重金招聘Python工程师标准>>> ...

  • Validform使用ajax详解

    demo.config({ showAllError:true, url:"这里指定提交地址", ajaxpost:{ //可以传入$.ajax()能使用的,除dataType外的所有参数; }, ajaxurl:{ //可以传入$.ajax()能使用的,除dataType外的所有参数; } }) 可用参数: tip

  • Validform校验

    $(".demoform").Validform({//所有可传入的参数如下:;      btnSubmit:"#btn_sub",       btnReset:".btn_reset",      tiptype:1,       ignoreHidden:false,          dragonfly:false,      tipSweep:true,      showAllErr

  • 《代码整洁之道 clean code》学习笔记

    文章目录0 前言1 注释C1:不恰当的信息C2:废弃的注释C3:冗余的注释C4:糟糕的注释C5:注释掉的代码2 环境E1:需要多步才能实现的构建E2:需要多步才能做到的测试3 函数F1:过多的参数F2:输出参数F3:标识参数F4:...

  • 《CleanCode》代码的整洁之道----并发编程

    并发是一种解耦策略,它帮助我们把做什么(目的)和何时(时机)做分解开。在单线程应用中,目的与时机紧密耦合,很多时候只要查看堆栈追踪即可断定应用程序的状态。而解耦目的与时机能明显地改进应用程序的吞吐量和...

  • Clean_Code:整洁的代码与规范

    Clean_Code整洁的代码与规范

  • 欢迎使用CSDN-markdown编辑器

    # 欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:- **Markdown和扩展Markdown简洁的语法** - **代码块高亮** [转载]  Validform使用入门 1、引入css 请查看下载文件中的style.css,把里面Validform必须部分复制到你的css中(文件里这个注释 “/*==

  • Clean Code 读书笔记一——什么是 clean code?

    什么是 clean code ?大神对优雅代码的定义: I like my code to be elegant and efficient. The logic should be straightforward to make it hard for bugs to hide, the dependencies minimal to ease maintenance...

  • Clean Code 代码整洁之道

    一直想深入看看《CleanCode 代码整洁之道》,增强代码整洁性。看到此文,略有启发,转载以敬之。 作者:JobsandCzj 来源:CSDN 原文:https://blog.csdn.net/jobsandczj/article/details/81369970 版权声明:本文为...

  • clean-code-javascript.pdf 代码整洁的 JavaScript

    代码整洁的javascript,Git地址:https://github.com/beginor/clean-code-javascript

  • Clean Code(整洁代码)

    继承,实现代码重用 多态 魔鬼数字,硬编码 常量应该统一定义,集中管理; 避免魔鬼数字和硬编码。 拒绝重复代码 使用优秀开源方法,不要重复造轮子 函数要短小优美,大函数提取函数,大类 尽可能使用枚举 针对接口...

  • CleanCode---代码整洁之道笔记

    一、整洁代码 糟糕 的代码想做太多事,它意图混乱、目的含混。整洁的代码只做好一件事,力求每个函数、每个类和每个模块都全神贯注于一事,完全不受四周细节的干扰和污染。如果对象功能太多,最好是切分为两个或者多...

  • clean_code(完整版).rar

    一系列行之有效的整洁代码操作实践。软件质量,只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

  • clean code(代码整洁之道)

    只做一件事 如果对你写的某个方法的代码进行审查时 发现他做了多件事 这些事中的某些小事 在其它地方也会做,或者你觉得在将来会被其地方用到,那么这个时候就涉及到代码的重用性或者说是重复度问题,那么这个时候就...

Global site tag (gtag.js) - Google Analytics