4 ms·
Consistency doesn't always serve readability. In written English, you can convey the same basic facts with a hundred different sentences. A good author will c
by markrages 6y ago
Consistency doesn't always serve readability.
In written English, you can convey the same basic facts with a hundred different sentences. A good author will choose the one that best conveys emphasis and subtle gradations of meaning to the attentive reader.
Code is also written for humans to read, so the best written code will use all the available facilities of the language to convey meaning to the reader.
- makapuf 6y agoExactly Like english or any written language, generally books are typesetted against a bunch of general conventions. You dont choose if you get one or two spaces after a semicolon. Your book is not great because you wrote it in leetcase, you focus on the meaning, not the details.
- musingsole 6y agoYou really do get to choose if you want 1 or 2 spaces or whatever formatting you want. Certain publishing houses might have style guides that they follow strictly and others less so, but all this just makes the formatting for a book a perfect metaphor to formatting code.
- tharkun__ 6y agoYou don't. The consistency is within the same book (or maybe publisher). A book would look ridiculous if every paragraph was using a different number of spaces after punctuation. But between two books its just personal preference whether you agree with the choice the author/publisher made.
- alisonkisk 6y agoI'm curious to see an example of how this plays out in code (not comments).
- musingsole 6y agoUsing python, the choice between a list comprehension or a for loop is often a style choice. I can't say this is common practice, but a list comprehension is great when the iteration is simple and quickly becomes hard for a human to parse if you're doing anything slightly complex. If you need any complex logic, you have to use a for-loop. So -- when written by a developer with these perspectives -- a for-loop signals complicated iteration logic and a list comprehension signals simple iteration logic. But you could do either with both if you chose. So, it's a style choice that can be used to convey meaning.
- jl2718 6y agoI failed a google interview for using a nested generator comprehension instead of for loops. It solved the problem, but the interviewer was utterly disgusted by it. He had some fair points about it being hard to inspect and modify and add exceptions.