这和很多“主流的”观点不同,函数的存在的主要意义在于:划分独立职责,隐藏具体细节操作,使得代码具有可读性,应对扩展的变化,方便进行单元测试,顺带的,偶尔可以用作复用。
    函数应当遵循:

    1. 单一抽象层次原则:仅表达一个抽象层次上的一件事
    2. 单一职责原则:一个函数只做一件事,只做一个操作
    3. 短小原则:函数不能过长,层次不能太深

    当发现一个函数具有以下特征时,需要考虑抽取函数

    1. 过长
    2. 嵌套层数过深(深度不超过5)
    3. 自然分块,需要使用注释描述该程序块
    4. 判断条件过于复杂(复杂度不超15)
    5. 函数的某些判断分支不断变化
    6. 参数过于复杂(参数不超过5)
    7. 逻辑重复


    注:同时也需要注意的是,如果函数划分过多是否会导致更多的函数压栈、出栈操作,是否会导致消耗过大?也不可太盲目的划分函数。_