this post was submitted on 07 Aug 2023
29 points (100.0% liked)

Programming

13345 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 1 year ago
MODERATORS
 

Was looking through some code today, and found something that highlights my biggest struggles in programming, it's compound words and casing. Had identifiers such as...

strikeThroughOffset
whitespaceWidth
lineSpacing
underlineOffset
outlineThickness

I can keep in mind "strike through off set", but then I struggle to remember, is it strikethrough or strikeThrough? What about Offset or OffSet? Why are offset, underline, and outline, all one word, but strikeThrough isn't? I think of it as one compound word, many people apparently do, but I guess someone who wrote this code doesn't.

Or... is this just a me problem? Does anyone else struggle with this sort of thing? Am I missing something or should I "just get good"? My best solution so far is just keep everything always lowercase, personally I find that more readable and memorable, but that's a lot to ask of literally every other programmer in the world...

you are viewing a single comment's thread
view the rest of the comments
[–] davehtaylor@beehaw.org 1 points 1 year ago

Each language has their own conventions in the style guides for how they prefer variables and functions to be named.

For example,

  • Python uses snake_case
  • C and C++ also generally use snake case, but have specific conventions for particular types of variables
  • Java, JavaScript, and C# use camelCase (like your examples)
  • Pascal, Dart, and a few others use UpperCamelCase that's like camel case, but the first letter is also capitalized

And then some organizations like to override those and institute their own conventions. I generally think the latter is a bad idea, since it breaks with accepted industry standards for a given language. Even for a personal project you know that no one else will touch, I think it's good to follow the langues guides.

I generally wouldn't make a compound word all lowercase. strikethroughoffset is much more difficult to read, IMO. If you're going that route, then you should at least snake case it: strike_through_offset. But again, a lot of this is going to depend on your situation.

It's not really a "get good" issue so much as it's just an annoying part of the industry one has to navigate.