mah man
mah man
man man
oh man
Because you’re assuming foo
won’t be renamed when it becomes a function. A function should start with a verb, say get_foo()
, because just foo()
tells me nothing about what the function does (or what to expect as output). If you make it a property, get_
is implicit.
So if the age is computed from the year of birth for example, it’s really e.g. thing.age
or thing.get_age()
- both of which are fine, but I’d pick the property version.
that we agree on: properties should be cheap to compute.
Making a simple ternary condition as a function instead of property is a wasted opportunity to make its usage cleaner.
Properties make semantic sense. Functions do something, while properties are something. IMO if you want to name something lazily evaluated using a noun, it should be a property.
The misleading behavior is about what you expect to execute in the source code you’re looking at vs what’s actually executed.
What you describe is a logic ambiguity that can happen in any program / language.
Totally agree. The hardcoded isAdult: true
repeated in all #2 examples seems like a bug waiting to happen; that should be a property dynamically computed from the age during access time, not a static thing.
deleted by creator
That’s part of the problem. Different number of whitespaces indicate different nesting levels and the YAML spec does not enforce them. These two horrible YAMLs are valid and are not equivalent:
a:
b:
- c
- d
- e
f:
"ghi"
a:
b:
- c
- d
- e
f:
"ghi"
You can’t say python’s whitespace usage is as bad as yaml’s. YAML mixes 2 and 4 spaces all the time. Python scripts don’t run if you write this kind of crap.
And whitespaces is really just the tip of the iceberg of YAML problems…
yes, from my other comment
the only mistake of Python when it comes to whitespaces was allowing hard tabs
but that’s easily fixed with an editor setting - on the other hand, unbalancing braces (and not realizing it) is too easy all the time.
YAML sucks because, among other things, indenting it is not obvious.
In contrast, the only mistake of Python when it comes to whitespaces was allowing hard tabs, which makes it too easy to mix them if your editor is not configured.
Improper indentation stands out more than missing or unbalanced braces and it’s really not an issue to delimit code blocks.
False dichotomy. Optional braces are bad practice because they mislead the programmer that is adding an additional clause to the block.
This misleading behavior wouldn’t happen in Python, as it would either be invalid syntax, or it would be part of the block.
Indentation problems are pretty obvious to the reader. Even more than missing or unbalanced braces.
Exactly. A few months ago the headline was a patent of Roku hijacking HDMI to show ads.
I’ll save my energy to be pissed off when this garbage actually makes it to market.
Learn a docker compose deploy. It’s a knowledge that pays off for services other than jellyfin too.
Collectibles are non-fungible tokens by definition, and blockchain is just a data structure.
I don’t care about collectibles / NFTs, but this is nothing new in the gaming world.
since the data is tabular, JSONL works better than JSON for large files
file sharing between planets, obviously /s
Also, A4 simply has a better ratio than letter. Letter is too wide, making A4 better to hold and it fits more lines per page.
tldr