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

Programmer Humor

32373 readers
560 users here now

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

Rules:

founded 5 years ago
MODERATORS
 
top 15 comments
sorted by: hot top controversial new old
[–] IphtashuFitz@lemmy.world 1 points 1 year ago* (last edited 1 year 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 1 year ago

I like him already

[–] erogenouswarzone@lemmy.ml 1 points 1 year ago* (last edited 1 year 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

[–] ccryx@discuss.tchncs.de 0 points 1 year ago (2 children)

Fuck character limits for names. Looking at you, ABAP.

[–] nottheengineer@feddit.de 0 points 1 year ago

Ah yes, gotta love /company/product_abc table names.

[–] andrew@lemmy.stuart.fun 0 points 1 year ago (1 children)

Are you not blind after staring at ABAP?

[–] QuazarOmega@lemy.lol 0 points 1 year ago (1 children)

Can you bleach my eyes with some really bad ABAP code? I've never seen ABAP and I want to feel scared

[–] _cnt0@feddit.de 0 points 1 year ago

Let me introduce you to Cobol ...

[–] Kidplayer_666@lemm.ee 0 points 1 year ago (1 children)

Programmers really like their AJTI (acronyms just to impress)

[–] _cnt0@feddit.de 0 points 1 year ago

BTDTGTTSAWIO

[–] Knusper@feddit.de 0 points 1 year ago (1 children)

What kind of shit senior devs are you working with?

[–] resin85@lemmy.ca 0 points 1 year ago (1 children)

Any one who worked on an Oracle DB when they had the 30 character object name limit learned to make names like this. You'd figure out all your domain objects, and abbreviate them all (person could be PRS_, account could be ACCT_, etc). It was a horrible experience.

[–] Knusper@feddit.de 0 points 1 year ago

I mean, sure, but it's not like that makes you forget the normal English words. Just don't abbreviate those words and you've likely got a semi-decent variable name.

Well, and my expectation for non-shit seniors is to be somewhat good at their job and to lead by example.

[–] Pxtl@lemmy.ca 0 points 1 year ago (1 children)

Hah, I (a Sr developer at the time) once built an entire mapping layer in our ETL system to deal with the fact that our product had long and expressive names for every data point but our scientists used statistical tools that had no autocomplete and choked on variable names longer than 32 chars so they named everything in like 8 chars of disemvoweled nonsense.

[–] klingelstreich@feddit.de 0 points 1 year ago

May those who build such unergonomic tools choke on a hair ball