读书笔记——《代码整洁之道》第三章 函数

主要内容

本章节所讲述的是有关编写良好函数的机制,从怎么写好函数的层面去剖析代码的整洁之道。如果你遵循这些规则,函数就会短小,有个很好名字,而且能被很好的归置。不过我们最终的目的就是把函数干净利落地拼装到一起,形成一种精确而清晰的语言,从而达到代码整洁的目的。

书写函数的几条规则

3.1 短小

函数的第一规则是要短小。第二条规则是还要更短小。==那么函数到底多长才合适?== 在20世纪80年代的说法是函数不该长于一屏。当然,说这话的时候,VT100屏幕只有24行、80列,而编辑器就得先占去4行的空间放菜单。如今的显示屏最大显示的行数在不断增加,这个标准也渐渐失去它的可信度。而函数长度的标准是:
每个函数都一目了然。每个函数都只说同一件事。而且每个函数都依序把你带到你下一个函数。

而达到每个函数保持在同一个抽象层上。

1206911-20170812164844679-1045482494.png
1206911-20170812164909226-1640241988.png

1206911-20170812164718929-264983038.png

1206911-20170812164728788-1528752622.png

3.4 switch 语句

switch语句存在的问题

  1. 太长,当类型复杂起来时,会更长
  2. 不止做了一件事
  3. 违反了单一权责原则 [SRP,Single Responsibility Principle] (类只应该有一个权责——只有一个修改的理由)
  4. 违反了开放闭合原则 [OCP,Closed for Modification; Open for Extension] (类应该对扩展开放,对修改封闭)
    ps:OO(Object–Oriented)的五大原则 SRP、OCP、LSP、DIP、ISP

解决方法:对于switch语句,用于创建多态对象,而且隐藏在某个继承关系中,在系统其他部分看不到

[enter description here][5]

3.5 使用描述性的名称

testableHtml改为SetupTeardownIncluderender; isTestable或includeSetupAndTeardownPages,
长的函数名具有描述性,要比描述性的长注释好。可以使用眸中约定,让函数名称中的多个单词更容易阅读,然后使用这些单词给函数取个能说清其功能的名称。

==模块名用名词,而函数名用动词描述==

3.6 函数参数

  1. 参数应该尽量少,如果参数太多,应该把几个参数抽象成对象
  2. 最理想的参数数量是零,其次是一个,再次是两个。除非有足够的理由才能用三个以上参数。

小结

  • 函数应该短小
  • 函数应该是做一件事,并做好这一件事
  • 函数中的语句应该在同一抽象层级上
  • 函数要么做一件事,要么回答一个问题,不要同时做这两个
  • 参数应该尽量少,如果参数太多,应该把几个参数抽象成对象
  • 使用异常,不要返回错误码
  • 抽离错误处理语句,处理错误的函数不应再做其他事。
  • 消除冗余,减少重复

转载于:https://www.cnblogs.com/lilan418/p/7350712.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值