this post was submitted on 27 May 2024
715 points (97.9% liked)

Programmer Humor

19480 readers
203 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 

geteilt von: https://lemmit.online/post/3018791

This is an automated archive made by the Lemmit Bot.

The original was posted on /r/ProgrammerHumor by /u/polytopelover on 2024-05-26 21:23:20+00:00.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 201 points 5 months ago* (last edited 5 months ago) (3 children)

First one are method name, second one are status name.


def open_file_dialog(self):
       self.dialog_file_open = True
       pass

Yoda level preference war.

[–] [email protected] 101 points 5 months ago (2 children)

I tend to add is to booleans toreally differentiate between a method name and a status.

def open_file_dialog(self):
    self.dialog_file_is_open = True
    pass

That way, it's easier for my dumb brain to spot which is which at a glance.

[–] [email protected] 114 points 5 months ago (1 children)
[–] [email protected] 58 points 5 months ago (1 children)

No fiting. IS always goes at the start of names for booleans you are correct

[–] [email protected] 2 points 5 months ago* (last edited 5 months ago) (2 children)

that works for 2 word names eg is_open or is_file, but in this case is_dialog_file_open is structured like a question, while dialog_file_is_open is structured like a statement

[–] [email protected] 8 points 5 months ago

Doesn't matter, the point is that, if it starts with "is" then you automatically know it's a boolean.

[–] [email protected] 3 points 5 months ago

It still works. is_this_thing_some_thingy. Is is just a prefix for if the suffix returns true/false.

[–] [email protected] 18 points 5 months ago (2 children)

In Elixir, we mark statuses by using a question mark at the end of the variable name. Something like this:

authorized? = user |> get_something() |> ensure_authorized?()

I like this better than the is_ prefix

[–] [email protected] 9 points 5 months ago* (last edited 5 months ago) (1 children)

does '?' have type definition in elixir or this is generally agreed design pattern?

[–] [email protected] 8 points 5 months ago

If it's like Lisp, then ? is just part of the symbol and doesn't have any special syntatic meaning. In different Lisps it's also convention to end predicate names with a ? or with P (p for predicate)

[–] [email protected] 4 points 5 months ago (1 children)
[–] [email protected] 2 points 5 months ago (1 children)

We do this in Ruby all the time, we just prefer methods over variables, usually.

def authorized?
  current_user&.authorized?
end
[–] [email protected] 2 points 5 months ago

I'm a principal backend engineer routinely writing Ruby for my day job, so I'm familiar, lol. But you can't do it for local variables and that just sucks. Definitely a +1 for Elixir.

[–] [email protected] 25 points 5 months ago* (last edited 5 months ago)

This is the way.

Command statement = an action

Question statement = a status

[–] [email protected] 5 points 5 months ago

Lol mutable state