Thank you so much GUYS 😁 Really appreciate it! It feels good to know that there are more than just one way to solve the problem. I’m getting that book ASAP! And for the people in the comment section, Thank you so much for sharing your experience!
@chanlito_6 жыл бұрын
BOSS: You will be working with our legacy code from now on. ME: Here's my resignation letter.
@mtheoryx836 жыл бұрын
A rewrite is ALWAYS a bad idea... UNTIL it's not. Here are some problems, some were mentioned in the video: You have parallel development. You aren't writing new bug-free code, so you also have parallel bugfixes. Also, you must deploy 100% feature parity, there is NO iteration. The legacy product went through a LOT of iteration and bugfixing. To the customer, your rewrite must be 100% feature complete, and 100% bug-free. Which is impossible.
@garybarrett48814 жыл бұрын
I thought from the thumbnail that this was going to be a discussion about the Michael Feathers book but it’s only mentioned in passing while they reminisce about past projects.
@brianhogg3586 жыл бұрын
You guys are just describing my every day right now.
@benedikt78462 жыл бұрын
You are literally asking all the questions in my head right now 🤝
@Neppord6 жыл бұрын
I once worked on a code base where you could find classes named MyFirstClass.
@lukedonnet97156 жыл бұрын
I once worked with code base with a class named FooBar
@Neppord6 жыл бұрын
@@Simon-xi8tb what makes you say that? Both what makes it personal and why would classes mean a failure to you?
@AkkayHT2284 жыл бұрын
I worked on code with class A12_02_2020{} // update this name every day
@emanonmax6 жыл бұрын
I had an internship at a pretty big firm (not like google but still making millions each year) and their entire codebase was in Delphi. Just because the founder used to develop in Delphi and "wanted to understand what his employees wrote". Their IDE had a memory leak so it was common practice to close and start the IDE again each 20 minutes. And the IDE was no longer maintained. My talk-to-person also told me that its usual for new employees to take a year to get into the codebase.
@garagavia4 жыл бұрын
Good episode! Helps get me thorough my work day at the home office
@SuprunAlexey6 жыл бұрын
Very nice quality of video! Good job 👏🏻
@sweLogan6 жыл бұрын
It's just a little fix you should do, they said 3 weeks ago ...
@chrsbll6 жыл бұрын
My experience with legacy code has always been far from pleasant. And it usually involves transitioning from initial confusion, through to anger, followed by incremental stages of understanding, and finally into contemptuous abandon - because it's always culminated in the realisation that the person(s) responsible for the code didn't care and were likely subject to the exact same "just make the thing work" external pressure that only grows with time. Although I will at least add a comment of apology when I've knowingly slapped a bandaid on code cancer.
@OfficialDevTips6 жыл бұрын
Haha i can totally relate. Thanks for sharing!
@pureretro59796 жыл бұрын
I used to work for a software company where parts of the application were considered 'black boxes' as none of the dev knew completely how the code worked. They would pass data in and get data out and, at times, post process the output to get the results they wanted. No one wanted to spend the time and money to rewrite these parts of the code base. It was a shame as new features would often get dropped because of the development overhead in dealing with this code.
@orangecoder3416 Жыл бұрын
thank you so much, GUYS!
@dmitryponyatov21585 жыл бұрын
Is it required to build some special translator or transpiler which can eat legacy code, do analysis which we want on the codebase and throw out some Java code with reborned app?
@lynettechua30316 жыл бұрын
This is very helpful!
@Softwareengineeringdev6 жыл бұрын
Well Explained !
@Neppord6 жыл бұрын
That book is sooo good. But it's less applicable if you don't have a compiler or you may lint or type check your code.
@ravenbergdev5 жыл бұрын
I like how you just eat food in the meanwhile
@dmitryponyatov21585 жыл бұрын
Git it first, its the first critical thing you must do Make legacy raker branch, rebuild it on a clean virtual machine to be shure that there are no errors in build and deployment system Interactuve debugger the only tool you can do anything Draw huge amount of schemes manually with paper and pencil, to grok intrtnal structure Cover all existing code wiyh tests, while not doing any change in this code Start to do tiny refactoring steps and test suite on every change Rollback to previuos version, or use meld fir comparing code with original
@NBGTFO6 жыл бұрын
I have heard the claim that rewriting legacy code is almost always a mistake. While I can agree that rewriting code just for the sake of it is the wrong approach, I can't agree that it is a bad thing when done right for the right reasons. When you have hacks doing it then sure, it won't turn out well. I've done a few rewrites of legacy systems over the years and never had any problems and the result was always praised as being better than the original. So I can't completely get behind that claim.
@GifCoDigital6 жыл бұрын
Seeing as rewrites for the "right reasons" are the "almost never" case then you DO agree that rewriting legacy code is almost always a mistake.
@alineoliveira25546 жыл бұрын
Pulp fiction. I Love you GUYS.
@zeocamo6 жыл бұрын
i got the task of working with a app that was build in a php-cms and then a other php-cms copy then make to replace it and the way this then was publish was just copy the coming cms in to the old one, and then other guys then modified both cms systems so must that the time to make any thing new in it was just ... well, fix this by writing down all the features i could find and then talking with customers, i made a new node.js app, with no real problems, it was just so easy, but i was a little lucky, plus node.js or more like JS is so easy to work with, you do not need to use the high amount of time that is needed for languages with static types.
@mvargasmoran6 жыл бұрын
What I do sometimes is to find smaller cases of pain. let's say a widget... and rewrite that, not all the system that feeds data to the widget. just the widget. and go on, and on, and on ... The other most important thing to approach like that is to have a team supporting you, if you're alone tasked with solving the widget in page B instead of fixing the widget itself... you the team to be aboard with then applying the new fixed/improved widget to the whole site when time's available.
@zeromodulus16793 жыл бұрын
incremental rewriting? that makes sense. Rewriting a software system piece by piece.
@mvargasmoran3 жыл бұрын
@@zeromodulus1679 I like to call it: "cheaper code" I can just re-write it.
@dmitryponyatov21585 жыл бұрын
You guys did not hear about state machine maybe where there switch inside infty loop. Or that is more probable legacy spaghetty maker did not know that idea, and monkey patched this state loop.
@ahmoahmic13934 жыл бұрын
Working on legacy project sucks.I am working on core banking application for 6 months .The code was written in 2004 and it is garbage .First you need to learn JSF and JSF sucks.Methods have 300-600 lines of code and strange logic.One method can go on Db for 6x times and debugging is hell.Working on this projects is not worth a money and stress.There is no progress because you are fixing old code and use someones logic that maybe is not good.You can only learn bad programming practices .You should be up to date with newest technology for this example Java with REST and Angular a not with Java and JSF or JSP
@sylvestrealexandre38006 жыл бұрын
I do rub my neck with some tape too !
@OfficialDevTips6 жыл бұрын
Hahaha TMI
@Saiphes6 жыл бұрын
It's not real! It's a guise! Also, what is a book?
@giorgos-45154 ай бұрын
objectively wrong title and thumbnail, if you wanna talk about the book dont put it in the thumbnail come onnn
@TheDaryls1318 күн бұрын
I believe you should work on your video editing and cut all unnecessary content (eating telling about your life and so on). Very painful to watch at times