代码整洁之道精华——第三章 函数
来源:互联网 发布:java要学常用类库吗 编辑:程序博客网 时间:2024/06/05 03:20
阅读本文有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。你如果想成为更好的程序员,那就请细细品味文章内容,它绝不会让你失望。
代码整洁之道教给大家如何编写整洁的代码,而不仅仅是能运行的代码,这对于编程者而言很重要。我在读这本书的第一遍时没什么感觉,但在读第二遍时觉得它确实挺不错的,如果有机会的话我会读第三遍。下面是我在读书过程中摘录的精华内容,希望大家认真对待。各位看官如果读完本文觉得书中的精华内容挺合自己的胃口,那就可以抽出时间认真地读一下这本书。
1、函数应该做一件事。只做这件事。做好这件事。
public static string renderPageWithSetupsAndTeardowns(PageData pageData,bool isSuite){ if(isTestPage(pageData)){ includeSetupAndTeardownPages(pageData,isSuite); } return pageData.getHtml();}
问题在于很难知道那件该做的事是什么。上述代码只做了一件事吗?其实也可以看作三件事:
(1)检测页面是否为测试页
(2)如果是测试页,就把设置和分拆步骤容纳近来
(3)无论是否为测试页,最终都渲染成HTML
注意:
这三件事都是实现渲染功能的具体步骤,他们都在该函数名下的同一抽象层级上,因此函数还是只做了一件事。
2、如果每个例程都让你感到深合己意,那就是整洁代码。
3、向函数传入布尔值简直就是骇人听闻的做法。这样做方法签名会立刻变得复杂起来,大声宣布本函数不止做一件事。如果标识为true将会这样做,如果标识为false则会那样做。我们应该把标识为true和false这两种情况写到两个函数中,这样逻辑更清晰。
4、如果函数需要两个、三个或三个以上参数,就说明其中一些参数应该被封装为类了。
5、给函数取个好名字,能较好地解释函数的意图,以及参数的顺序和意图。对于一元函数,函数和参数应当形成一种良好的动词/名词形式。例如,write(name)就相当令人认同。protected UserInfo Initialize()函数和返回值也可以形成良好的动词/名词形式。
6、函数应该只做一件事,错误处理就是一件事。因此,处理错误的函数不应该做其他事。这意味着如果关键字try在某个函数中存在,它就该是这个函数的第一个单词,而且catch/finally代码块之后不该有其他逻辑的内容。
抛开所有细节不谈,代码整洁之道总体来说可以分为以下7点:
- 运行所有测试
- 减少重复代码
- 提高表达力
- 提早构建简单抽象
- 类和方法都只做好一件事
- 尽量减少类和方法的数量
- 努力,让营地比你来时更干净。努力,让世界比你来时更干净。努力,让代码比你签出时更干净。
- 代码整洁之道精华——第三章 函数
- 代码整洁之道精华——第一章 整洁代码
- 代码整洁之道精华——第四章 注释
- 代码整洁之道精华——第五章 格式
- 代码整洁之道精华——第八章 边界
- 代码整洁之道精华——第九章 单元测试
- 代码整洁之道精华——第十章 类
- 代码整洁之道精华——第十一章 系统
- 代码整洁之道精华——第十二章 迭进
- 代码整洁之道 第三章 函数
- 代码整洁之道精华——序言
- 代码整洁之道精华——第二章 有意义的命名
- 代码整洁之道精华——第六章 对象和数据结构
- 代码整洁之道精华——第七章 错误处理
- 代码整洁之道精华——第十三章 并发编程
- 代码整洁之道精华——第十四章 逐步改进
- 代码整洁之道精华——第十七章 味道与启发
- 代码整洁之道——函数
- 几个存储过程实例(已测可用)
- c++中各种类型转换
- 取球问题
- Linux中vim的配置
- ACM刷题之HDU————敌兵布阵
- 代码整洁之道精华——第三章 函数
- Activity已singleTask启动,intent传值得解决办法
- msm8916 MDP(mobile display processor) 简介
- Android之grafika源码阅读
- C语言复习笔记 2
- Eclipse 安装 SVN 插件的两种方法
- Appium 报错:org.openqa.selenium.NoSuchWindowException: no such window: target window already closed
- 在低版本ie浏览器:hover丢失
- 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。