The most common. For me. Mostly from comments in source code.
bool Attribute->cleanPositions(int $id_attribute_group)Reorder attribute position in group $id_attribute_group. Call it after deleting an attribute from a group.int Attribute::getHigherPosition(int $id_attribute_group)Get the higher attribute position from a group attributebool AttributeGroup::cleanPositions()Reorder group attribute position. Call it after deleting a group attribute.