本节书摘来自异步社区《代码整洁之道》一书中的第1章1.1节要有代码,作者【美】Robert C. Martin,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第1章 整洁代码
代码整洁之道


阅读本书有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。很好。我们需要更好的程序员。

这是本有关编写好程序的书。它充斥着代码。我们要从各个方向来考察这些代码。从顶向下,从底往上,从里而外。读完后,就能知道许多关于代码的事了。而且,我们还能说出好代码和糟糕的代码之间的差异。我们将了解到如何写出好代码。我们也会知道,如何将糟糕的代码改成好代码。

1.1 要有代码
有人也许会以为,关于代码的书有点儿落后于时代——代码不再是问题;我们应当关注模型和需求。确实,有人说过我们正在临近代码的终结点。很快,代码就会自动产生出来,不需要再人工编写。程序员完全没用了,因为商务人士可以从规约直接生成程序。

扯淡!我们永远抛不掉代码,因为代码呈现了需求的细节。在某些层面上,这些细节无法被忽略或抽象,必须明确之。将需求明确到机器可以执行的细节程度,就是编程要做的事。而这种规约正是代码。

我期望语言的抽象程度继续提升。我也期望领域特定语言的数量继续增加。那会是好事一桩。但那终结不了代码。实际上,在较高层次上用领域特定语言撰写的规约也将是代码!它也得严谨、精确、规范和详细,好让机器理解和执行。

那帮以为代码终将消失的伙计,就像是巴望着发现一种无规范数学的数学家们一般。他们巴望着,总有一天能创造出某种机器,我们只要想想、嘴都不用张就能叫它依计行事。那机器要能透彻理解我们,只有这样,它才能把含糊不清的需求翻译为可完美执行的程序,精确满足需求。

这种事永远不会发生。即便是人类,倾其全部的直觉和创造力,也造不出满足客户模糊感觉的成功系统来。如果说需求规约原则教给了我们什么,那就是归置良好的需求就像代码一样正式,也能作为代码的可执行测试来使用。

记住,代码确然是我们最终用来表达需求的那种语言。我们可以创造各种与需求接近的语言。我们可以创造帮助把需求解析和汇整为正式结构的各种工具。然而,我们永远无法抛弃必要的精确性——所以代码永存。

《代码整洁之道》—第1章1.1节要有代码相关推荐

  1. 《代码整洁之道》第一章 整洁代码 ---为什么需要整洁代码?

    第一章 整洁代码 概述 什么是整洁代码? 开始走向整洁代码 概述 欢迎阅读本栏目的读者,如果你想成为更加优秀的coder,请跟随笔者的观点去解析<代码整洁之道>这本书,相信你会收获颇丰. ...

  2. Clean Code 《代码整洁之道》前四章读书笔记

    第一章: 整洁的代码只做好一件事 减少重复代码 提高表达力 提早构建简单抽象 让营地比你来时更干净 第二章:有意义的命名 名副其实:如果名称需要注释来补充,就不算是名副其实. 一定要注意命名,一旦发现 ...

  3. 读《代码整洁之道》前四章浅显印象 和 我所见的不整洁代码引以为戒

    1.根本----良好端正的态度. 2.命名----有意义,规范,可搜索的名称,使用源自问题领域的名称,至少避免误导. 3.类名----名词或者名词短语. 4.方法----应当是动词或者动词短语. 5. ...

  4. 从插图看《代码整洁之道——程序员的职业素养》

    <代码整洁之道--程序员的职业素养>是<代码整洁之道>的作者Bob大叔的第二部作品,笔者读完2016年再版的本书后有感而发写下本文,本书2012年的版本叫<程序员的职业素 ...

  5. 重读【代码整洁之道】

    一.前言 [代码整洁之道]很经典,但也有些过时,翻译上也有些啰嗦,但总体上是好书.通过对本书核心内容的摘抄,结合自己的经验,整理了一些精简的点,这样你就省的去啃那本400多页的书了. 软件质量 = 架 ...

  6. 《代码整洁之道》(Clean Code)- 读书笔记

    一.关于Bob大叔的Clean Code <代码整洁之道>主要讲述了一系列行之有效的整洁代码操作实践.软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关.这一点,无论是敏捷开发流派 ...

  7. 代码整洁之道(Clean Code)- 读书笔记

    Sorry, 许久未更新文章了,主要因为刚刚换了一家新公司,忙于组建团队(建设.招聘.流程.框架等)与熟悉公司业务,还有领导给的其他工作等等,实在是没有时间更新了.最近在和团队分享Bob大叔的< ...

  8. 【苦练基本功】代码整洁之道 pt1(第1章-第3章)

    代码整洁之道 pt1(第1章-第3章) 1 整洁代码 1.1 要有代码 1.2 糟糕的代码 1.3 混乱的代价 1.3.1 什么是整洁代码? 2 有意义的命名 2.1 名副其实 2.2 避免误导 2. ...

  9. 【苦练基本功】代码整洁之道 pt4(第10章-第12章)

    代码整洁之道 pt4(第10章-第12章) 10 类 10.1 类的组织 10.2 类应该短小 10.2.1 单一权责原则 10.2.2 内聚 10.2.3 保持内聚性就会得到许多短小的类 10.3 ...

最新文章

  1. java观察者模式类图_设计模式(十八)——观察者模式(JDK Observable源码分析)...
  2. python分析基金数据_python基金会(大数据分析),的,PYTHON,基础,选择,练习
  3. Cloud for Customer客户主数据重复检查duplicate check的前台实现
  4. 使用Matplotlib Numpy Pandas构想泰坦尼克号高潮
  5. 李开复评价马斯克:他真正的目的是把人变成半机械人
  6. mllib逻辑回归 spark_《Spark大数据分析实战》笔记
  7. BGP——BGP优化技术(总结+配置)
  8. ORB-SLAM2代码思维导图
  9. python创建一个空的dataframe_python - 创建一个空的Pandas DataFrame,然后填充它?
  10. jQuery - 按回车键触发跳转
  11. ES6新特性:Javascript中Generator(生成器)
  12. 学校计算机编程用的什么软件,电脑编程软件都有哪些
  13. MUI框架-01-介绍-创建项目-简单页面
  14. Stata实现结构方程模型
  15. 【译】UI 的黑暗面!暗色背景的优势
  16. 自媒体人绝对要知道的6款软件工具!免费文案、配音不在话下
  17. 【转帖】lmbench的简单使用
  18. 重载、重写(覆盖)、重定义(同名隐藏)的区别
  19. linux系统fflush函数
  20. 手把手教你使用wordPress+阿里云虚拟主机搭建个人博客

热门文章

  1. yahoo pipes的使用
  2. BGP router-id OSPF router-id 路由同步实验
  3. 微信支付JSAPI掉不起来支付按钮是什么原因?(原创)
  4. Oracle的 EXEC SQL CONTEXT学习
  5. NoSQL数据库:从故障中恢复数据的原理
  6. 经验之谈—让你看明确block
  7. docker on spark
  8. gravity和layout_gravity
  9. extjs4.1单击treepanel节点收缩叶子节点
  10. Tkinter Frame size