1. Accessor names

When doing OO programming, we don't use the pseudo-official Perl style getter/setters:

$val = $obj->attribute;
$obj->attribute($val);

Actually, a lot of Perl people hate that.

We are more explicit:

$val = $obj->attribute;        # unchanged, a getter
$obj->set_attribute($val);    # the setter

There is no “get_attribute” .