Two of the most-often-encountered naming schemes are CamelCase (ThisIsACamelCaseString) and snake_case (this_is_a_snake_case_string). And in the case of CamelCase: do you make the very first letter a capital or not? If I'm not mistaken, variables in java are often CamelCase, except the first letter (thisCouldBeAJavaVariable).
When thinking of names for directories and files (read also "Organizing yourself as a dry-lab scientist" on BioinformaticsZen), i.e. when there's no set naming convention that you have to follow (e.g. variable naming conventions), I tend to use different schemes for directories versus files for some reason. For naming directories, I use an underscore to separate different things in the same name. For example, I name my folders by concatenating the date they were created with the RT Task Tracker ticket and a description (the latter being in camelcase). For example ~/20070629_RT12345_ThisIsADirectory. For files, I normally use snake_case, except for scripts... Why? Maybe to distinguish those scripts from the data files. For example:
+- Documents
+- Projects
+- 20070629_RT12345_ThisIsASampleProject
| +- input_file.txt
| +- output_file.txt
| +- log_file.txt
| +- ParseInput.rb
+- 20070629_RT23446_AnotherProject
+- input_file.txt
+- output_file.txt
+- log_file.txt
+- ParseInput.rb
It would probably not be a bad idea to start to use a default data folder or something to keep all the input, output and other files, and a script folder for the scripts... I should take a look again at the BioinformaticsZen blog.
Of course things are completely different when you're coding or setting up databases. In these cases, your preferred programming language will have it's own conventions. In ruby, for example, classes are in CamelCase, while variables should be snake_case. All good and well, until they start to bite you in the you-know. I'm trying to create a ruby API to an existing database that would require polymorphic associations. This requires that the values in the something_something_type column should be class names, which are CamelCase and singular. But of course, the database has everything in snake_case. I found a workaround to get the thing up and running with snake_case, except that it requires the value to be plural, which it of course isn't. End result: I'll have to get the actual data values in the database changed to get this thing working.
