Another thing that I saw usefull is to preserve the parameters name
and type with a comment so when we need to use that function is only 
a matter of cut and paste that part and fill in the values in the 
correct order.
create function wap_user_agent__new (
    integer,            -- v_user_agent_id      in wap_user_agents.user_agent_id%TYPE default null,    varchar,            -- v_name               in wap_user_agents.name%TYPE,
    varchar,            -- v_creation_comment   in wap_user_agents.creation_comment%TYPE,
    boolean,            -- v_active_p           in wap_user_agents.creation_comment%TYPE default 't    integer,            -- v_creation_user      in acs_objects.creation_user%TYPE,
    varchar             -- v_creation_ip        in acs_objects.creation_ip%TYPE
  );