new preference war just dropped
new preference war just dropped
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're viewing a single thread.
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.
198 0 ReplyI 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.
99 0 Replyis_dialog_file_open
fite me
115 0 ReplyNo fiting. IS always goes at the start of names for booleans you are correct
57 0 Replythat 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
4 0 ReplyDoesn't matter, the point is that, if it starts with "is" then you automatically know it's a boolean.
8 0 ReplyIt still works. is_this_thing_some_thingy. Is is just a prefix for if the suffix returns true/false.
3 0 Reply
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_
prefix20 0 Replydoes '?' have type definition in elixir or this is generally agreed design pattern?
8 0 ReplyIf 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 withP
(p for predicate)8 0 Reply
jealously weeps in ruby
4 0 ReplyWe do this in Ruby all the time, we just prefer methods over variables, usually.
def authorized? current_user&.authorized? end
2 0 ReplyI'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.
2 0 Reply
This is the way.
Command statement = an action
Question statement = a status
24 0 ReplyLol mutable state
6 0 Reply