Conventions save you from having to take some time to figure out how the project is structured; these are the result of testing and polishing rules on production environment.
Grouping is important; especially when you're working with projects that have many assets. The following rule proposes a way to organize this files into a easy to navigate way.
RULE
IF images FROM same GROUP > 5
store in new directory
repeat RULE
else
store in root
Names for individual files should always be in singular, even if when they're a sprite that contains several elements. This is by convention a good practice that is taken from other frameworks.
Sub-Directories a.k.a. Groups should be named in their plural form when possible. Remember, this only applies to directories. For files use the singular variant.
The General rule to name files:
background files:
bg(-group)?(-name)
sprites:
sp(-group)?(-name)
buttons:
bt(-group)?(-name)
icons:
ic(-group)?(-name)
other:
(group-)?(name)
When the file is going to have several variants; it's a good practice to append the change, in type or dimention, using the following pattern.
(name)((-HEIGHTx)(WIDTH)?)?
logo-300x.jpg
logo-500x.jpg
logo-300x-grayscale.jpg
/bg-content.jpg
/bg-content-light.jpg
/sp-main.jpg
/ic-form-submit.jpg
/placeholders/
content-big.jpg
content-small.jpg
content-medium.jpg
user-display-100x.jpg
user-display-200x.jpg
video-medium.jpg
+1 to everything here.
images are tricky because... well. i normally end up with two sprites... one is a big spritesheet, the other is a vertically very long sprite.. aside from that i rarely have other backgrounds or icon img files.