Nevertheless, article covered this context in the end as well.
Code is run more than read
201–210 of 325 posts
Re: Code is run more than read
#202Nice article. I'd like to point out that a mature/legacy codebase contains every example listed under the "smell" section of the article, sometimes even within the same file. This creates a great deal of complexity to unwind beyond the mere coding of it all.
Every generation relearns this the hard way, this blog post is 23 years old today and still 100% on the money https://www.joelonsoftware.com/2000/04/06/things-you-should-...
Re: Code is run more than read
#203I'm glad to see something approaching ethics discussed: > There’s a mismatch between what we thought doing a good job was and what a significant part of the industry considers profitable, and I think that explains the increasing discomfort of many software professionals. "Discomfort" is quite the understatement. This leaves so much unsaid. I will add some questions: - What happens when your users are not your custome…
Re: Code is run more than read
#204Very nicely explained, as I kept reading it covered all my experiential "yes, but" thoughts. I will add that-knowing- all this is helpful, but implementing it when you are early in your career is hard. For example, it's good that Business is the big priority, but when you gave no experience of what is good, or bad, in business, it can be hard to understand the ramifications of decisions made now. Equally, business pr…
That's a pretty sad assumption.
"dev > user" is why a lot of projects have very poor usability.
Re: Code is run more than read
#205I think the corollary to the title (to turn it around on the author) is not 'Code is read more than written' but 'code that can't be read won't run for long'. Disclaimer: Experienced sysadmin trying to make a lateral move to development and as such a complete noob.
I'd say it's more 'code that can't be read won't be modifiable for long'.
Re: Code is run more than read
#206I think what I am seeing in this article is a curious mixture of should and does . For example, the "user > dev" formula is a clear example of "should"; but when he gets to "biz > user", he surreptitiously switches to "does". He explains the biz > user by pointing out stakeholders, and investors, and personal interests, and politics, and all other sorts of crap that, in the real world, puts biz before the user. Very…
> But should it? How would it work if it wouldn't? He explains what he means by that. If you spend time and resources on all things the users require and your run out of money and go out of business, everybody loses. Of course you can take any of the "rules" and take them to an extreme where they become wrong. But I think if you don't push them to their breaking point they are good rules of thumb :)
I think there is also a bit of a conflation of values vs ability. The formulas in the article represent values. Real life adds constraints based on what's possible.
Consider his formula for dev vs user: "user > dev". You could argue that, just as a business is constrained by time and money, so is the developer constrained by time and skills. And yet, the author is happy with turning the greater than sign towards the user in this formula. Why?
Re: Code is run more than read
#207Earlier quoted context omitted.
> It isn't useful in mathematics because it is a contradiction in terms: if "neither of the two compared entities is greater or lesser than the other" then they are equal. That’s only true for a total order ; there are many interesting orders that do not have this property. It holds for the usual ordering on N, Z, Q and R, but it doesn’t hold for more general partially ordered sets. In general one has to prove that a…
Example: alphabetic ordering in most languages with diacritics. For example, "ea" as far as the ordering function is concerned , but they are obviously also NOT the same glyph.
Re: Code is run more than read
#208Earlier quoted context omitted.
Reminds me of the concept of games in combinatorial game theory, they are a superset of surreal numbers (which are themselves a superset of the real numbers) in which the definition of the surreal numbers is loosened in a way which looses the property of they being totally ordered. This creates games (read weird numbers) which can be "confused with" or "fuzzy" with other numbers, the simplest example is * (star) whic…
Heres a relevant video on the topic: https://www.youtube.com/watch?v=ZYj4NkeGPdM I really love that video.
The space of possible abstractions for any given phenomenon is vast, yet we almost always just assume that real numbers will do the trick and then begrudgingly allow complex ones when that doesn't work. If we're not lucky we end up with the wrong tool for the job, and we haven't equipped people to continue the exploration. It's a bias with some pretty serious consequences (thanks... Newton?).
I don't think I've seen the inadequacy of number-systems-you've-heard-of demonstrated so clearly as it is done here.
Re: Code is run more than read
#209Earlier quoted context omitted.
It's surprisingly easy to have one year of experience despite working for ten years.
That one year is clearly more important than the other nine.
For example maybe you've spent 10 years building the same CRUD front-ends over and over. You're probably really good at that. And the companies that you worked for needed that skill. However, you'd be a lot more marketable if you had other skills that you could put to use at future jobs.
Re: Code is run more than read
#210Some users are not using a system because they like it but because their company bought it. In those situations biz > user by definition and the developers end up having to cater to the needs of the middle managment of their customers rather than the needs of the actual users. The price of not doing this is failing to win the contract. Users then get locked in to whatever crap you have time to provide for them while…