- Many years ago I had to try to debug a memory manager written by a really talented software engineer, with an interesting take on naming things… - 
He referred to blocks of memory as “cookies”. 
- 
He had a temporary variable named “handy” because it was handy to have around. 
- 
He had a second temporary variable that referenced the first one that he called “son_of_handy”. 
- 
If corruption was detected in a block of memory then it would set the flag “shit_cookie_corrupt”. 
- 
If too many cookies were corrupt then the system would halt by calling the function “oh_shit_oh_shit_oh_shit”. 
 - I like him already - To be honest I’d like to see his resume, kinda wanna hire him 
 
- proposal to rename exit() to oh_shit_oh_shit_oh_shit() 
- I will keep this legacy alive within my code 
 
- 
- U nd to rembr tht mny snr devs grw up prgrmng on old hrdwr tht ddn’t hv mch mmry & oftn th lang ony allwd shrt var nms anywy. Also thy wr th gen of txtspk fr smlr rsns. - Yngr snr devs pckd up bd hbts frm tht gen. - And here’s a sentence that’s not squashed to cleanse your palettes / give a sigh of relief because I figure if I need a break from typing like that, you need a break from reading it. - Nmng thngs s hrd. 
- Hey, sometimes we put a little effort into our acronyms. I published a component named UTI and it was too late to change it by the time management caught on. 
- Does anyone have any good advice on variable naming? Here’s some of my rules I try to live by: - camelCase
- use prefixes
- prefixes should be one word followed by an underscore.
- 10 character limit or 3 word limit, not counting the prefix
- functions should be prefixed with the file in which they’re defined, ie utils_FooBar
- file names should be one word
- Start Bools with is
- Don’t use notin bool names.- This has farther-reaching implications that will keep you from making confusing code most of the time (I’m sure this will be controversial, but it works no matter what they say)
 
- start output with _
- Globals should be g_VARIABLENAME
- use the least amount of words possible
- but being too verbose can draw attention - use this to aide in readability
- calc_ImportantValueThatWillDecideTheUsersViewis better than- calc_SumYearsif the variable is more important than the others.
 
- Even the greatest variable names are not replacements for documentation
- Even the most readable code is not replacement for documentation.
- Force yourself to love documentation.
 
 - Edit: I realize I was speaking about function-naming with the prefix stuff. - For variables, I still use prefixes, but for variable type. Even if you define the variables as types, it’s still incredibly useful. For instance, - a string is - s_MyName,- enumerable is - e_MyType,- A number is int or double or whatever - i_MyAgeor- d_MyWeight- This might be obvious for custom objects, but I’d still do it like this - p_Personor- per_Person.- Seriously it does make a huge difference 





