Avoid putting the "$" symbol in the table, columns, views, procedure etc names; dollars are "reserved" by convention to Oracle provided objects (since Oracle is expensive, i believe ;-) )
There is just a loose convention for pl/sql objects, which i've noticed it's quite followed but not everywhere. The convention is to have parameters prefixed by p_, local variables by l_, such as
create or replace procedure p (p_customer_type in number)
where customer_type = p_customer_type;
the main aim of this "convention" is to avoid clashing table names with parameters/local variables ones - and to distinguish at first sight which is a column/table name and which is a parameter/local variable, quite useful in long sql statements especially involving joins.
Anyway, most important thing is to have a convention, followed across the company/application; which one is not very important, as anacedent pointed out.