The Harsh Reality of Good Software

preview_player
Показать описание
Tips & tricks to write better software.

💬 Topics:
- How to write better software?
- Software development mistakes;
- What is clean code?
- Software Abstraction tips;
- Software refactoring best practices.

Рекомендации по теме
Комментарии
Автор

5:07 "avoid refactoring just for the sake of refactoring" timeless advice - without good testing in place, which is sadly usually the case, refactoring is often not refactoring anyway, it's rewriting, and often you just break stuff that was working for no reason.

You have to stop thinking code is bad or ugly just because you don't understand it right now. The person who wrote it four years ago (sometimes it was you!) understood it when they wrote it.

If you rewrite it now in a way that means you understand it right now today, especially if it's not protected with tests and you don't contribute tests, you haven't done anything but ensure the next someone four years from now will think it's the worst code they've ever seen.

It's just an endless cycle of dangerous, wasteful rewriting of code that was just innocently sitting there happily working away paying the pay check that allowed you to rewrite and break it...

nijolas.wilson
Автор

The quality of the video has been improved a lot

krateskim
Автор

This video feels so relatable. I am a dev with ~5 years of experience so not new but not old either. I fight the urge to rewrite from scratch every single day.

wlockuz
Автор

4:20 idk, small focused functions can itself become absurd levels of indirection (even if they are inlined by the compiler). You could end up jumping around files for something that could have been 15 or 20 line function

principleshipcoleoid
Автор

This should be played in the orientation of every Computer Science course.

arunkennedy
Автор

When you go back to your old code and still undestand your crap, you did something right.

Jokes aside bad code is always the result of bad planning and imposible dead lines.

neociber
Автор

Hey, glad to see you finally changed the stock footage and music, nice!

InfiniteRain_
Автор

This must have been a looot of work man! Just the shere number of fade ins and outs is a lot. And all thise little entry and exit animations add up really quick. This was an awesome video ( pun intended 😁 )

TechBuddy_
Автор

Every time a new feature would come along we would go to the place we thought the new feature belonged and delete everything. And it was great. You would never have to worry about breaking some obscure code you didn't know how it works. Because you can't break something which doesn't exist. Just write the code with your updated requirements as if it was the first time. You can keep all the old unit tests, and integration tests that worked for the old code. Since they are independent of each other and the code itself.

Maintainable code is code that can be deleted. Hell, sometimes we would delete entire repos since they weren't needed anymore.

timonix
Автор

content, quality... the video feels better in all the ways possible, it has imporved sooo much ! even tho it was alreay excellent, thank you so much.

hugodasilva
Автор

Just subbed. I'm just over 1.5 years in fullstack software dev in the industry and this all rings so true already. I'm literally in my first work book club reading DDD by Eric Evans so I LAUGHED. No one 'really' cares, yet I care, but should I?! Love these takes. Really helps curb the want to refactor everything, overanalysize and overengineer to prematurely optimize, and all the rest... almost everything you say per topic is something I feel like I've picked up over the course of this last year n a half under other senior devs with 15+ years in the industry and at the company

tabsc
Автор

Rewriting from scratch is a bad itch but if you are at staff or principal level and understand the trade-offs and advantages of a rewrite then you should always prepare slides to present to the management about the impact. It should 100% be incremental. Immediate management above you often have number of features delivered as a metric to measure their performance. So convincing them of rewrites is incredibly hard.

StingSting
Автор

It is so much relatable, thank you for sharing.

Take care 🍀

KelvinWKiger
Автор

Great video 🎉 been following you for a while, its great to see how far your contents come.

prismatic
Автор

This is quality content, thank you for making it!

Julzaa
Автор

After 20 years in the industry I finally think we should talk to the business guys more. Not only are they happy when someone talks to them willingly, you might even redirect or even stop some train wrecks before they hit development. That makes your life much less miserable than indenting lines correctly could.

mariusg
Автор

Love the video.
Do to people that care about the product: the only time to refactor is when you have to or while doing something adjacent & have time.

The best tool for the job is the one you are forced to use, even though it sucks and it should be taken out like an old yeller.

deathone
Автор

Awesome video @awesome. What is the source of CPU animation at 2:32 😅 ?

ankurparihar
Автор

I think it's true for quality in pretty much every walk of life. So to say, "no one cares about quality under the hood". But that's not exactly true. The point is that _few_ people understand quality. And most likely _few_ people understand quality in your profession. But, as you rightly point out, in long term "bad software eventually stops working". Long term, the shoddy stuff falls apart.

xealit
Автор

Wow golang fitted all these points you mentioned but personally I am more inclined towards js because of tooling and I will learn both languages

Serizon_