This is a coding style where you add very gradually to a file; a statement or variable at a time, over the space of days or weeks. This can be before lunch, or after it; scattered between meetings and visits to the loo. Refactoring is a perpetual process; often you can have two or three refactorings happening at the same time, and sometimes they may overlap.
Every time you revisit the file, you come in with a fresh mind and new ideas and a completely different perspective.
It is similar to peer review coding, in this fashion, and is best enjoyed with a pint.-- mylodon, Oct 19 2017 Ugh, sounds horrendous.-- Loris, Oct 19 2017 This is a lifestyle without sprinting - why not just stroll.-- mylodon, Oct 19 2017 Refactoring is just a fancy way of labeling the failure to realize that you should have thought of this before, and now you're stuck with having the redo it. The best cure for constant refactoring is to hire better programmers.-- theircompetitor, Oct 19 2017 I don't know where you work, [theircompetitor], but round here, nobody has any idea what customers are going to be asking for in ten years' time.-- Wrongfellow, Oct 19 2017 check some of my ideas from ten years ago and you'll see that I don't suffer from that problem :)
I was working on web services in 94, online trading in 97, web conferencing in 99, mobile games in 2004 3 years before the iPhone, and AR/VR in 2011. I'm safely ahead of anything my customers would want.
More to the point, Y2K was also "refactoring", but really, it's easy enough to admit that even the Radio Shack TRS-80 could have handled a 4 digit year if people actually properly thought about what they were doing. And my point was not about all refactoring, but to the nature of the idea. Right now around Wall St. they're trumpeting finally -- unbelievably -- going to 2 day settlement -- really embarrassing given where technology is today.
As an IT manager once said to me, at a major Wall St. client, "you haven't invented anything I can't do with VSAM", as he was fighting tooth and nail against any notion of a "modern", at the time, database being used. As MongoDB goes public today with a document model being a fancy way of implementing keyed index files, you gotta wonder.
I have never seen an IT shop -- and that would include household name valley companies -- where there are not plenty of people that don't work as hard -- intellectually -- as they should be.-- theircompetitor, Oct 19 2017 I suspect that the practitioner of this philosophy of coding will find his novel idea for an operating system on a disk to be a bit behind by the time he finishes.-- RayfordSteele, Oct 19 2017 Maybe. But it's like painting a bridge. Start at one end, work your way to the other, then go back again. Try to avoid sanding, just build up layers. It's easier that way.-- mylodon, Oct 19 2017 Isn't this basically how government-funded IT projects work?-- MaxwellBuchanan, Oct 19 2017 My introduction to programming was while I was still under the illusion that I will become an engineer (on Software Engineering, read the above note about Refactoring). The assignment was the calculate the value of the "e" constant in Fortran.
I came home and said that I could not believe they pay people to do this.-- theircompetitor, Oct 19 2017 My day job is QA for small manufacturing outfits - during this century it's been ruggedized computer equipment.
I used to study software QA as a hobby, these days my choice of entertainment is project management as a form of self defense.
You guys are cracking me up.-- normzone, Oct 19 2017 random, halfbakery