Clean Code第三章<函数>】的更多相关文章

1.方法不要写太长,如果太长,抽取其中的逻辑到新的方法中 bad good 2.函数只做一件事 如果做了多件事,要在方法名里体现出来 3.每个函数一个抽象层级 4.函数名可以长一些,比长注释好 5.方法参数不要有bool值 6.方法参数大于两个,考虑把其中的参数封装为对象…
最近在看代码整洁之道(Clean code)这本书,其实看的有点痛苦,因为越看就会越想自己写的代码是什么鬼?一些不知所云的命名,不整洁的代码格式,本想诠释代码的意思却添加了一段段废话,还有那些被强制加上去的署名和某年某月的修改信息. 此时的我只想痛改前非,但是我知道看书的时候觉得自己懂了,实际写起来又会很糟糕.我以大牛为榜样,看看自己离这个目标还差的很远我又很烦躁.也许我不该烦,应该从现在开始注意自己写代码的风格. 首先说下命名: 尽管给函数,变量,类等命名没有充斥着a,b,c但是也命名过isD…
一.三元表达式 #普通的判断大小函数def max2(x,y): if x > y: return x else: return yres=max2(10,11)print(res)x=12y=11#三元表达式仅应用于:#1.条件成立返回 一个值#2.条件不成立返回 一个值语法:return 成立得到的值 if 表达式 else 不成立得到值#用三元表达式简写的函数表达式def max2(x,y): return x if x > y else yprint(max2(10,11)) 二.函数…
一.迭代器 1.什么是迭代?:迭代是一个重复的过程,并且每次重复都是基于上一次的结果而来2.要想了解迭代器到底是什么?必须先了解一个概念,即什么是可迭代的对象?可迭代的对象:在python中,但凡内置有__iter__方法的对象,都是可迭代的对象num=1以下都是可迭代的对象str1='hello'list1=[1,2,3]tup1=(1,2,3)dic={'x':1}s1={'a','b','c'}f=open('a.txt','w',encoding='utf-8')3.迭代器:迭代取值工具…
一.无参装饰器 1 开放封闭原则 软件一旦上线后,就应该遵循开放封闭原则,即对修改源代码是封闭的,对功能的扩展是开放的 也就是说我们必须找到一种解决方案: 能够在不修改一个功能源代码以及调用方式的前提下,为其加上新功能 总结, 原则如下: 1.不修改源代码 2.不修改调用方式 目的: 在遵循1和2原则的基础上扩展新功能2.什么是装饰器? 器指的工具,装饰指的是为被装饰对象添加新功能 完整含义: 装饰器即在不修改被装饰对象源代码与调用方式的前提下,为被装饰器对象添加新功能 装饰器与被装饰的对象均可…
一.命名关键字参数: 什么是命名关键字参数?格式:在*后面参数都是命名关键字参数特点:1 必须被传值1 约束函数的调用者必须按照key=value的形式传值2 约束函数的调用者必须用我们指定的key名def foo(x,y,*,z): #创建foo函数,z为命名关键字参数 print(x,y,z)#foo(1,2,aaa=3) #报错,z为命名关键字参数,只能用用关键字z=值foo(1,2,z=3) ------------------------------def auth(*args,nam…
一.形参与实参 1.形参与实参是什么? 形参(形式参数):指的是 在定义函数时,括号内定义的参数,形参其实就变量名 实参(实际参数),指的是 在调用函数时,括号内传入的值,实参其实就变量的值 x,y是形参 def func(x,y): #x=10,y=11 print(x) print(y) 10,11是实参 func(10,11) 2.注意: 实参值(变量的值)与形参(变量名)的绑定关系只在函数调用时才会生效/绑定 在函数调用结束后就立刻解除绑定 二.位置参数: 1.位置参数 位置即顺序,位置…
一.函数: 1.为什么要有函数?什么是函数? 1.组织结构不清晰,可读性差 2.代码冗余 3.管理维护的难度极大,扩展性 具备某一个功能的工具就是程序的中函数 事先准备工具的过程---->函数的定义 拿来就用---->函数的调用 所以函数的使用必须遵循:先定义,再调用 2.定义函数: 1.语法 def 函数名(参数1,参数2,...): """ 文档描述 """ 代码1 代码2 代码3 return 值 def:定义函数的关键字 函数…
3.1 初识函数 3.1.1 函数的定义 语法: function 函数名([参数1,参数2,......]) { 函数体 } (1)function:在声明函数时必须使用的关键字 (2)函数名:创建函数的名称,是有效的PHP标识符 ①函数名是唯一的,不能重复定义: ②由字母.数字.下划线组成,必须以英文字母或者下划线开头: ③函数名不区分大小写,常量和变量区分大小写: ④采用骆驼命名法,第一个单词首字母小写,后续单词首字母大写:(建议) ⑤获取数据以get开头,设置数据以set开头,删除数据以…
前一段时间一直在看英文小说,在读到<Before I fall>这本书时,读了40%多实在看不下去了,受不了美国人啰啰嗦嗦的写作风格,还是读IT专业书吧. 从5月9日开始看<代码整洁之道>,5月14日完成第一遍的阅读(略掉了并发编程的章节以及两大章重要的JAVA改进的示例),本书中包含大量的有关简洁代码的实用性建议,强烈推荐程序员们(想成为更好的程序员们)必读此书.书中有许多具体的例子,虽然大多是JAVA代码,但对.NET等编程语言同样适用.看完此书后,马上开始对自己手头的代码进行…