代码整洁之道-读书笔记(三)第三章 函数

本章主要从函数的角度讲述如何写出整洁的代码。

短小

        函数应该不多余20行,函数的缩进层级不应该多于一层或者两层。这样的函数便于阅读和理解

只做一件事

        为了保证短小,保证易于理解和阅读,函数应该只做一件事,做好一件事

每个函数一个抽象层级

        为了确保函数只做一件事,函数中的语句要在同一个抽象层级上。

        为了搞清楚抽象层级,我们需要明白一个概念。

        自顶向下读代码-向下规则:每个函数后面都跟着位于下一个抽象层级的函数,所以我们在查看函数列表的时候,就能徇抽象层级向下阅读了,这叫做向下规格。

        换种说法:程序就像是一系列TO起头的段落,每一段都描述当前抽象层级,并引用位于下一抽象层级的TO起头段落。

        例子:我们想写一个函数判定字符串长度:GetStringLength(),可以在里面引用一个DetermineStringEnd()的函数判定某个位置上的字符是不是零从而确定字符串的长度。

switch函数

        switch函数天生要做N件事,不过我们还是能够保证每个switch函数都埋藏在较低的抽象层级,而且永远不重复。

使用描述性的名称

        函数越短小、功能越集中,越容易取好名字。

        不要怕名字长。

        不要怕花时间。

函数参数

        函数参数越少越好,如无必要不要使用三个以上的参数函数。输出参数也是越少越好,最好使用return的方式返回参数,不要使用输出参数。

        使用类包含的方法能够减少参数传递。

无副作用

        不对目标以外的参数作出改动。

分隔指令与询问

       函数要么做什么事,要么询问什么事,二者不可兼得。

如何写出这样的函数

        1、先写出功能

        2、花时间打磨

        3、组装函数


  


    







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值