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.
I worked at a place where all the DB column names were like
id_user
,id_project
. I hated it.I didn’t really care about this thread until I read this comment.
I have never thought about it
First one are method name, second one are status name.
def open_file_dialog(self): self.dialog_file_open = True pass
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.
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_
prefixjealously weeps in ruby
We do this in Ruby all the time, we just prefer methods over variables, usually.
def authorized? current_user&.authorized? end
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.
does ‘?’ have type definition in elixir or this is general agreed design pattern?
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 withP
(p for predicate)
is_dialog_file_open
fite me
No fiting. IS always goes at the start of names for booleans you are correct
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
Doesn’t matter, the point is that, if it starts with “is” then you automatically know it’s a boolean.
It still works. is_this_thing_some_thingy. Is is just a prefix for if the suffix returns true/false.
This is the way.
Command statement = an action
Question statement = a status
Lol mutable state
Yes.
Whatever is more useful goes first.
For example, if this we’re a list of UI text strings, finding all of the dialogue options together might be useful.
If, instead, this is a series of variables already around one dialogue, then finding the open or close bits together would be useful.
I just name my variables a, b, c etc. If I have more than 26 variables in any given function, I name them aa, ab, ac, etc.
you’re on a highway to hell.
We just call those Smurf names.
Both:
dialog_error = Dialog_plain.create_modal(error_text)
Variable and class names go from more general to more particular, functions begin with a verb.
Global functions are either “main”, or start with one of “debug”, “todo”, or “shit”.
Powershell has a lint warning for functions that don’t follow Verb-Noun format, and verbs here are a list of approved verbs lol
in general, adjectives and verbs after nouns because it’s more organized/easier to search/filter. as god intended.
I personally prefer
dialogs.FileDialog.open()
I’m truly torn with this. The first one seems sensible (action -> target) and easier to read and reason about (especially with long names), while the other one looks more organized, naturally sortable and works great with any autocompletion system.
Not a programmer, but I’d prefer right naming convention because sorting
I am a programmer, and i also like the naming scheme on the right
Especially for things like filenames
Also a programmer and think method names would be conducive using little endian.
TopicGet() TopicCreate() TopicDelete()
Writing this I realize we do this implicitly in some instances.
http.Get() -> httpGet() http.Post() -> httpPost()
We need a new framework, one that allows universal lookup, and makes life easier
x = _.dialog.file.open y = _.open.file.dialog z = _.file.open.dialog a = _.file.dialog.open
Once done, the formatter simply changes everything to
_.open.file.dialog
Let’s get this done JS peeps
\s
Insert xkcd about 15th format
Aahh you can’t just make this problem object oriented!
C programmers don’t like that.
Not new
Romance language word order noun_descriptor is the right way.
the people who chose the first one…who hurt you?
No one, it just makes sense.
You must be one of those “Throw your mother downstairs, the box of tissues” types.
Yoda sounded normal to you I bet.
It makes sense until you write 30 methods to manipulate the data layer.
I will
Powershell