zoukankan      html  css  js  c++  java
  • 函数的学习与感悟

     

    1. 函数要短。但不是为了短而短,而是为了表达意思,让读者看了这个函数而能迅速的把握函数要带来的信息。盲目的为了短而,并不是初衷,也不是目的。
    2. 函数只做一件事。依照单一职责原则(一个类只会因为一个原因改变)设计函数。一个函数要么进行流程控制(即方法里面先调用A方法,再调用B方法,再调用C方法,依次调用,这种方法只起到拼接传递,串接流程的作用或逻辑判断(什么是逻辑判断,比如买火车票,根据身份证号判断,此人是否有买过当天同车次的车票),要么改变某事物的状态(比如:买火车票,检查用户退票次数,一天是超过三次,如果是就把当前用户给锁上,今天就不能再进行买票了,更改用户的锁定状态),要么计算并返回结果,要么调用多个下一抽象级的其他函数(另一种流程控制而已)。不要有多余功能。
    3. 最好把函数分解成多个抽象层级来设计,同一层级的函数,依照倒树状图来设计函数。
    4. 函数不应该有作为标识的参数,这意味着函数会有多种不同的执行方式被改变。
    5. 函数参数最多有两个,或者是具体的操作值,或者是封装之后的参数对象。
    6. 自身行为状态的改变,不应该让外界去改变,应该由对象本身对外提供改变的能力,例如:判断用户是否可以构买火车票,应该由用户本身提供是否可以买火车票的函数,而不应该调用一个函数在对象外操作,来改对象内部的操作。把改变类x的状态的函数调用addFooter(x),改为x.addFooter()
    7. 函数不要返回错误码,这需要你有错误码的枚举类,并且违反了开放封闭原则(你需要加入新错误码来扩展新错误),直接抛出异常就好了。(可以通过继承父异常来扩展)
    8. 函数名称描述清楚,不要有歧义,不要容易混淆,注释写场景,能不用文档说明就不用。
  • 相关阅读:
    使用HtmlAgilityPack将HtmlTable填入DataTable
    用EXCEL的VBA将PHPCMS的备份文件转换成HTML的一次尝试
    从微观角度看到宏观世界
    洛克菲特:如何管好你的钱包
    论永生_基因编辑
    如何隐藏自己的应用程序在服务器上不被发现?
    检视阅读
    改变了我对英语理解的语法课
    Rick And Morty使命必达与毁灭--------英语笔记
    文件太大,网速太慢,如何高效的传递到服务器上运行
  • 原文地址:https://www.cnblogs.com/gdnyfcuso/p/7283048.html
Copyright © 2011-2022 走看看