this post was submitted on 20 Jul 2024
571 points (98.1% liked)

Programmer Humor

19149 readers
1215 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
 
you are viewing a single comment's thread
view the rest of the comments
[–] traches@sh.itjust.works 33 points 1 month ago (15 children)

🤓 ackshually that’s not the HTML spec. Void elements should not have trailing slashes.

https://developer.mozilla.org/en-US/docs/Glossary/Void_element

[–] azertyfun@sh.itjust.works 18 points 1 month ago (12 children)

> Clicks on <br>
> Example is <br />


The actual thing that matters is that the / is ignored so (unlike with XML I believe) you can't self-close a non-void element by adding a trailing /. But "void elements should not have trailing slashes" is extrapolation on your part; the trailing slash improves readability and is kosher since it doesn't act as a self-close.

[–] lseif@sopuli.xyz 7 points 1 month ago (5 children)

An explanation of this problem can be found on the official W3C HTML validator wiki.

HTML parsers only allow this to stop pages breaking when developers make mistakes; see this Computerphile video. 'Able to be parsed correctly' is not the soul criterion for it a syntax being preferred, otherwise we would all leave our <p> elements unclosed.

Yes, it is not "incorrect" to write <br/>, but it is widely considered bad practice. For one, it makes it inconsistent with XML. Linters will often even "correct" this for you.

I personally find the official style (<br>) to be more readable, but this is a matter of personal opinion. Oh, and I used to have the same stance as you, but I also used to think that Python's whitespace-based syntax was superior...

At the end of the day, regardless of anyone's opinion, we should come to SOME consensus...and considering that W3C already endorses <br>, we should use this style.

[–] firelizzard@programming.dev 2 points 1 month ago (2 children)

If a spec tells me I should do something that makes my code less readable in my opinion I am going to ignore the spec every time.

[–] gravitas_deficiency@sh.itjust.works 4 points 1 month ago (1 children)

There’s even one in English that I actively and pointedly flout: punctuation must go inside of the quotes if the quote terminates the sentence

Yeah, unless it’s a formal setting, reader comprehension comes before all else

[–] lseif@sopuli.xyz 2 points 1 month ago (1 children)

"readability" is subjective. much like how there is no objective definition of "clean code". i am not arguing that either option is more generally "readable", i am insisting that people use a common standard regardless of your opinion on it. a bad convention is better than no convention. i dont personally like a lot of syntax conventions in languages, whether that be non-4-space indenting, curly braces on a new line, or early-declared variables. but i follow these conventions for the sake of consistency within a codebase or language, simplicity on linter/formatter choice, and not muddling up the diffs for every file.

if you want to use <br/> in a personal codebase, no-one is stopping you. i personally used to override every formatter to use 2-space indenting for example. but know that there is an official best practice, which you are not following. if you work in a shared codebase then PLEASE just follow whatever convention they have decided on, for the sake of everyone's sanity.

[–] firelizzard@programming.dev 2 points 1 month ago* (last edited 1 month ago)

if you work in a shared codebase then PLEASE just follow whatever convention they have decided on, for the sake of everyone’s sanity.

That goes without saying; I'm not a barbarian.

“readability” is subjective. much like how there is no objective definition of “clean code”.

Did you not see the part where I said it's less readable "in my opinion"?

i am insisting that people use a common standard regardless of your opinion on it.

I can read this one of two ways: either you're making an assertion about what people are currently doing, or you're telling me/others what to do. In the first case, you're wrong. I've seen many examples of self-closed tags in the open source projects I've contributed to and/or read through. In the second case, IDGAF about your opinion. When I contribute to an existing project I'll do what they do, but if I'm the lead engineer starting a new project I'll do what I think is the most readable unless the team overwhelmingly opposes me, 'standards' be damned, your opinion be damned.

The spec says self-closing is "unnecessary and has no effect of any kind" and "should be used only with caution". That does not constitute a specification nor a standard - it's a recommendation. And I don't find that compelling. I'm not going to be a prima donna. I'm not going to force my opinions on a project I'm contributing to or a team I'm working with, but if I'm the one setting the standards for a project, I'm going to choose the ones that make the most sense to me.

load more comments (2 replies)
load more comments (8 replies)
load more comments (10 replies)