用途:整理一个文件或当前分支内的函数定义顺序。
作用范围:提供文件路径时只整理该文件;不提供路径时检查当前分支的变更文件,整理需要更新的文件。
选择模式:默认仅整理当前分支触及的候选函数(新增、重命名或 def 与 defp 之间变更可见性),即使未触及的函数顺序不对也不移动;仅在明确要求时使用覆盖模式,整理所选范围内全部函数。
排序规则:LiveView 与 LiveComponent 模块优先按执行与生命周期顺序,而非字母顺序;render/1 放在 handle_event/3 子句之前;回调组保持连续,handle_event/3 子句按工作流时序排列。非 LiveView 模块公开函数(def)在前、私有函数(defp)在后,各自按函数名字母排序。
结构安全:同一函数名与元数的所有子句视为一个整体;子句顺序按匹配具体性排列,具体在前、宽泛回退在后,相同则按所涉主要原子的字母序;移动函数体只改位置不改内容;保留模块结构、注释、间距约定和非函数代码。
输出预期:以最小移动满足候选函数的排序规则;仅变更模式下,文件模式中目标文件无候选函数则不做重排,分支模式中跳过无候选函数的文件;覆盖模式整理所选范围全部函数。始终保留行为,不做会改变模式匹配结果的排序调整。