参数越少越好, 三个参数的函数应当尽可能避免, 超过三个参数的函数就不应该被使用了.
一个参数的例子
boolean fillExists(file_path);
两个参数的例子
Point p = new Point(0,0)
两个参数的之间存在天然的顺序.
像assertEquals(expected, actual)
, write(stream, path)
这种没有天然的顺序的函数都是存在问题的.
参数对象
当一个函数看起来需要两到三个参数的时候, 很可能需要构建一个参数对象.
Circle makeCircle(double x, double y, double radius);
vs
Circle makeCircle(Point center, double radius);