Question: I have never understood what is the ideal way to name a project, package, class. I do it in a random way which doesn't look professional at all. I know the class name should start with a capital alphabet. But what I don't really have trouble with is finding the names that are suitable and look professional. lets consider this example. If I am writing a program for fibonacci series i give names like this:

```
project name = fibonacci_project
package name = org.fib.code1
class name = Code1

```

Doesn't look neat right? How would you do it ?

Answer: 
For starters, it's [Fibonacci](http://en.wikipedia.org/wiki/Fibonacci_number).

See [Sun's java naming conventions](http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html) for some details on package / class names.

Aside from that, the general rule of thumb is - all your names should be descriptive:

* for class - what does it do (or what does it represent)
* for package - what common functionality (goal) do all classes within that package provide (aim to achieve)
I like the eclipse project naming scheme, where a project name is simply the name of the core package that the project provides, e.g. Project name: org.eclipse.emf.core or org.eclipse.emf.common