-
函数的学习与感悟
- 函数要短。但不是为了短而短,而是为了表达意思,让读者看了这个函数而能迅速的把握函数要带来的信息。盲目的为了短而,并不是初衷,也不是目的。
- 函数只做一件事。依照单一职责原则(一个类只会因为一个原因改变)设计函数。一个函数要么进行流程控制(即方法里面先调用A方法,再调用B方法,再调用C方法,依次调用,这种方法只起到拼接传递,串接流程的作用)或逻辑判断(什么是逻辑判断,比如买火车票,根据身份证号判断,此人是否有买过当天同车次的车票),要么改变某事物的状态(比如:买火车票,检查用户退票次数,一天是超过三次,如果是就把当前用户给锁上,今天就不能再进行买票了,更改用户的锁定状态),要么计算并返回结果,要么调用多个下一抽象级的其他函数(另一种流程控制而已)。不要有多余功能。
- 最好把函数分解成多个抽象层级来设计,同一层级的函数,依照倒树状图来设计函数。
- 函数不应该有作为标识的参数,这意味着函数会有多种不同的执行方式被改变。
- 函数参数最多有两个,或者是具体的操作值,或者是封装之后的参数对象。
- 自身行为状态的改变,不应该让外界去改变,应该由对象本身对外提供改变的能力,例如:判断用户是否可以构买火车票,应该由用户本身提供是否可以买火车票的函数,而不应该调用一个函数在对象外操作,来改对象内部的操作。把改变类x的状态的函数调用addFooter(x),改为x.addFooter()。
- 函数不要返回错误码,这需要你有错误码的枚举类,并且违反了开放封闭原则(你需要加入新错误码来扩展新错误),直接抛出异常就好了。(可以通过继承父异常来扩展)
- 函数名称描述清楚,不要有歧义,不要容易混淆,注释写场景,能不用文档说明就不用。
-
相关阅读:
Python--学习过程
线程、进程、协程
socket
面向对象--进阶
面向对象--初级
Python常用的模块
2019-2020-1 20191301《信息安全专业导论》第十二周学习总结
wirehark
2019--2020第十一周信息安全导论论总结20191301
2019--2020信息安全导论第10周总结20191301
-
原文地址:https://www.cnblogs.com/gdnyfcuso/p/7283048.html
Copyright © 2020-2023
润新知