this post was submitted on 09 Sep 2023
2 points (100.0% liked)

Programmer Humor

35334 readers
1 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 6 years ago
MODERATORS
 
top 3 comments
sorted by: hot top controversial new old
[–] IphtashuFitz@lemmy.world 1 points 2 years ago* (last edited 2 years ago) (1 children)

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”.

[–] ajmaxwell@lemmy.world 1 points 2 years ago

I like him already

[–] erogenouswarzone@lemmy.ml 1 points 2 years ago* (last edited 2 years ago)

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 not in 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_ImportantValueThatWillDecideTheUsersView is better than calc_SumYears if 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_MyAge or d_MyWeight

This might be obvious for custom objects, but I'd still do it like this p_Person or per_Person.

Seriously it does make a huge difference