There are many different schools of thoughts on how to assign a host name. There are also many considerations. For example, the hostname on a windows machine cannot be more that 15 characters. Also some switches (old cisco ones IIRC) used to have a problem with 12 or more characters in the hostname.
There are also other considerations when naming a machine. One may be a security issue, i.e. don't put windows, linux, sol5.2 or any identifiable information in the hostname that a casual observer would learn very quickly. While it in fact does nothing (nmap can determine the host os type) its just a good idea.
This has to be also pragmatic in implementation if you have lots of machines, you are going to need to be able identify what it does and whom is owner really quickly from say DNS reverse lookup. So this means you have to have common information shared amongst your admins.
The big thing here that you should achieve is uniformity across the enterprise and agreement from all the admins as to what the conventions are.
The current host name schema I use is;
AA This is a two letter short code to identify the company whom owns the asset. In this case we'll give it MC for My Company
BB This is a two letter short code to identify the site the machine is located on OR the service provider whom hosts the machine. Here we run the computer in a site call Super Center so we have assigned it the short code SC. This could easily however be a two letter iso country code or even another companies short code.
CC A two letter short code identifying the role of the machine. These role designations are agreed by all in IT operations before assignment otherwise you end up with different meanings. In this instance we are assigning DM for database master but we alos use code like VJ for virtual jboss, or wk for workstation.
DD This is the customer identifier and may be a combination of letters or numbers. We'll give the 01 in this case
DDD Node number
So using the above a typical host would be
Thus I can derive form this host name that machine is operated by my company, located in super centre, its a database server, a master, serving the needs of customer 01 and they have 10 hosts that are database masters.
If your being observant, there is a problem with the last part of the hostname formula. The customer number cannot be more that 99 or z9 and the nodes can be 999. We have proposed altering this so that the customer can be 3 digits and nodes 2.
However, we also get the joy of being able to do neat tricks such as using the host name to determine what puppet should do with the hosts configuration (apply a common hosts file to all machines in my-sc for example)
The main thing here, is find whats right for you and what you can live with on a daily basis.