dram.me

函数重载和代码可读性

函数重载是很多编程语言都支持的一种特性,包括以下几种形式:

  1. 运算符重载;

  2. 基于参数类型的重载;

  3. 基于参数个数的重载(例如Prolog、Erlang);

  4. 面向对象编程中基于对象类型的重载。

函数重载的优点和缺点都非常明显,以下展开说明。

优点包括:

  1. 代码更加简练;

  2. 增强同类操作的关联性;

  3. 减轻为函数取名的负担。

而缺点主要是降低了代码可读性,在阅读代码时需要根据参数个数或者类型判定执行的动作。

总体来说,函数重载部分源于程序员的惰性,因为取名是程序设计过程中难度很大的一个点。某种程度上,变量的重复使用也体现了类似的问题。