Do you enjoy maintenance projects?
-
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
Probably most of us don't. But it is a fact of life. Code has to be maintained so we must be prepared to perform these tasks. Occasionally it can be quite enjoyable and we can learn something from it - both when the code is bad and when the code is good. I didn't have to do much maintenance in my last contract. But just before the contract started I bought Working Effectively with Legacy Code[^]. I've read a fair bit of it and it's something I intend to make use of going forward. At least it's a way of adding some interest when faced with a horrendous maintenance project. Don't be fooled by the book's title though. "Legacy" means virtually all code that has to be maintained - even if it's spanking new .NET 3.5.
Kevin
-
Rage wrote:
not saying what it requires to change something without side-effects, is something I simply do not agree with
This is where we would all benefit if mainstream languages supported design by contract. Of course devs would still have to write the contracts but if the language made it easy to do so it would encourage developers to do so.
Kevin
Well-design and written code doesn't have "side-effects".
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
Well-design and written code doesn't have "side-effects".
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001Well I was interpreting side-effects in terms of mutability of state vs. non-mutability, e.g., as described in functional programming. http://en.wikipedia.org/wiki/Functional_programming[^] Contracts make it explicit (in code, as opposed to comments) what state is changed by a method.
Kevin
-
John Simmons / outlaw programmer wrote:
MILLIONS more new lines of Cobol being written every year.
Maybe, but I think that these lines of codes are written to maintain the BILLIONS of existing. I am not sure that there are that many new projects starting from scratch in COBOL.
John Simmons / outlaw programmer wrote:
because you can't quit every job that requires it.
No, but I can quit every job where the environment makes it even harder. As I said in my previous post, sure it is part of the job, sure I have and will surely again come across legacy code, but I will not accept to maintain it under all circumstances.
Rage wrote:
As I said in my previous post, sure it is part of the job, sure I have and will surely again come across legacy code, but I will not accept to maintain it under all circumstances.
And I simply agree with you.
-
Is this irony ? I think that in the C/C++ world, it is more likely nowadays to maintain code than create new one. So I do not have anything against maintaining code, but having to do overtime just because the code is an uncommented mess and you nedd two hours instead of one to understand what is actually going on, not saying what it requires to change something without side-effects, is something I simply do not agree with. So I moved to something else, I think this is legal.
-
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
Depends on what "maintenance" means. If the project is still "life and active", fine. if the project is "dead because we don#t get any money for it anymore, but we have to fix bugs, so fix the bugs but with the least effort possible, no investments at all", it sucks for all involved. Fundamental problem: Most education is aimed at writing new code, though most programmers (what were the statistics? >70% or something?) work in maintenance.
-
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
Only when I wrote the code in the first place.
John
-
Well I was interpreting side-effects in terms of mutability of state vs. non-mutability, e.g., as described in functional programming. http://en.wikipedia.org/wiki/Functional_programming[^] Contracts make it explicit (in code, as opposed to comments) what state is changed by a method.
Kevin
If the program has no observable side effects (using this strict definition), why should I run it at all? :D
-
If the program has no observable side effects (using this strict definition), why should I run it at all? :D
Well, that's what puzzles me about functional programming!:confused: But I've not looked into FP yet.
Kevin
-
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
Only if I am given the freedom to improve, refactor, enhance, optimize, etc. as I see fit. If not, my experience and wisdom is being wasted, and the money for my salary or rate is better put elsewhere. Then again, if you have a company that wants to pay you $75+/hour to do maintenance... Let 'em! Enjoy the easy money for as long as it is there. Might want to mention that your abilities are better used elsewhere, but if they want to waste the money on you... Peace!
-=- James
Please rate this message - let me know if I helped or not! * * *
If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong!
Remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road!
See DeleteFXPFiles -
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
Maintenance projects are usually harder and unrewarding to work on because most programmers don't write maintainable code. The majority of programmers don't comment adequately (in my opinion), and their code often has unnecessary complexity. Good code is simple and clear.
-
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
Christian Flutcher wrote:
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
Sometimes. Rapid mass refactoring without a visible safety net is a bit of a speciality of mine. :-\
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
Probably most of us don't. But it is a fact of life. Code has to be maintained so we must be prepared to perform these tasks. Occasionally it can be quite enjoyable and we can learn something from it - both when the code is bad and when the code is good. I didn't have to do much maintenance in my last contract. But just before the contract started I bought Working Effectively with Legacy Code[^]. I've read a fair bit of it and it's something I intend to make use of going forward. At least it's a way of adding some interest when faced with a horrendous maintenance project. Don't be fooled by the book's title though. "Legacy" means virtually all code that has to be maintained - even if it's spanking new .NET 3.5.
Kevin
Fowler's book is excellent. That and a chance conversation with Bob Walsh[^] were what got me into TDD, and now I'll happily mock anything... :-\
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
Christian Flutcher wrote:
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
Sometimes. Rapid mass refactoring without a visible safety net is a bit of a speciality of mine. :-\
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
Anna-Jayne Metcalfe wrote:
Rapid mass refactoring without a visible safety net is a bit of a speciality of mine
Yeah, that works well. But I am afraid to do it as no one knows my refactoring breaks somewhere else.
-
Fowler's book is excellent. That and a chance conversation with Bob Walsh[^] were what got me into TDD, and now I'll happily mock anything... :-\
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
Did you mean to say Feathers' book?
Kevin
-
Did you mean to say Feathers' book?
Kevin
I did. :doh: Everything here is happening at 3 times normal speed this week - we have a major update to Visual Lint happening at the end of the week (v2.0, and a new product edition) and I'm juggling last minute testing, press releases and all the other stuff that goes with a major version update. With all of that going most of my brain cells have well and truly run for cover. When it's over there is some serious Belgian beer and (home grown!) chilli on the horizon. Anyone in the Bournemouth area is welcome to join the party, of course! :-D
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
Anna-Jayne Metcalfe wrote:
Rapid mass refactoring without a visible safety net is a bit of a speciality of mine
Yeah, that works well. But I am afraid to do it as no one knows my refactoring breaks somewhere else.
It's always a bit of a juggling act. Fortunately, I've had enough practice over the years to know exactly where to draw the line, and where to back out changes before committing them. :)
Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
I don't mind them, since I got my programming start doing them. One of my first jobs was to update and rehost a bunch of test programs (ATE for Standard Missile factory test) on a new OS and hardware platform. I committed my first major faux pas when I marched into the boss' office with a completely botched piece of crap, shoved the source listing in front of him, and complained about the moronic simpleton who wrote the garbage. He hung his head and said, "I wrote that one." Oops. :-O
"A Journey of a Thousand Rest Stops Begins with a Single Movement"
-
I am not enjoying our current C# project which contains 60 projects and not even a single documentation! Do you guys enjoy maintenance projects?
I would have a lot less work if it wasn't for incompetent programmers who write code with no comments. Thanks to them, when something needs to be changed or fixed quickly, I get calls that the client has a "critical situation" and will pay top dollar for a fast fix. I have a toolkit I use (some bought, most I developed) that helps me navigate in strange code, and within minutes of sitting down with it I can see what the hierarchy is, and within an hour I usually know what needs to be changed and what it will impact. So, no, I don't mind maintenance one bit. :)
Best wishes, Hans
[CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]
-
Christian Flutcher wrote:
Do you guys enjoy maintenance projects?
I resigned last time I had to do that. 'nuff said.