Pour les projets perso et pro, je développe systématiquement dans ~/www/repo/mon-projet. Soit j'ai besoin d'un nom de domaine pour faire fonctionner le projet (ça arrive sur certains CMS) et dans ce cas, j'ajoute une entrée dans /etc/hosts du genre 127.0.0.1 local.mon-projet et je génère un vhost apache2 :
<VirtualHost *:80>
ServerName local.mon-projet
DocumentRoot /home/tonUser/repo/mon-projet
<Directory /home/tonUser/repo/mon-projet>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
…avec éventuellement un vhost pour activer SSL.
Ou bien je sers le projet avec un serveur web via PHP (la quasi majorité du code que j'écris) :
~/repo/mon-projet $ php -S 0.0.0.0:8000
Ça permet, par exemple, de faire des tests depuis d'autres machines dans le réseau local (smartphones compris).
Je ne recommande pas les alias car ça peut apporter beaucoup de soucis/confusions une fois qu'on veut déployer l'application sur un hébergement et qu'on manque d'expérience.
L’intérêt de faire toujours la même chose, c'est que tu peux automatiser pas mal de choses (création du répertoire de projet et/ou clone, création des vhosts, etc.).