The activities that occur after deployment of a software system. This includes making modifications to released systems, training, operating, and transitioning to support organizations.

learn more… | top users | synonyms

144
votes
6answers
45k views

Why do dynamic languages make it more difficult to maintain large codebases? [duplicate]

Large codebases are more difficult to maintain when they are written in dynamic languages. At least that's what Yevgeniy Brikman, lead developer bringing the Play Framework to LinkedIn says in a video ...
81
votes
8answers
5k views

What is the most effective way to add functionality to unfamiliar, structurally unsound code? [duplicate]

This is probably something everyone has to face during the development sooner or later. You have an existing code written by someone else, and you have to extend it to work under new requirements. ...
75
votes
21answers
8k views

How would you react if someone told you your code is a mess?

I am a good programmer, or so I thought before. I always love to program. And I want to learn many things about programming to make me a better programmer. I studied programming for 1 year and now I ...
65
votes
9answers
4k views

How should you deal with a popular project that you no longer want to maintain?

I am the maintainer of a project which has a large non-technical userbase. I've been maintaining it for about 4 years now and adding new features as they've been requested. I'd like to move on to ...
64
votes
12answers
3k views

Is there a point to including a “change log” in every code file when you are using version control?

I was under the impression that a version control system eliminated the need to have "change logs" plastered everywhere in the code. I've often seen the continued use of change logs, including big ...
50
votes
17answers
6k views

Working on someone else's code

I have hardly a year's experience in coding. After I started working, most of the time I would be working on someone else's code, either adding new features over the existing ones or modifying the ...
49
votes
7answers
4k views

Writing Tests for Existing Code

Suppose one had a relatively large program (say 900k SLOC in C#), all commented/documented thoroughly, well organized and working well. The entire code base was written by a single senior developer ...
47
votes
5answers
2k views

Does dedicated maintenance work hamper a programmer's career? [duplicate]

The majority of my work over the last three years has largely been around maintaining legacy systems that needed patching up or the occasional revamp before being sold again. I understand the ...
43
votes
18answers
8k views

How to manage a developer who has poor communication skills

I manage a small team of developers on an application which is in the mid-point of its lifecycle, within a big firm. This unfortunately means there is commonly a 30/70 split of Programming tasks to ...
41
votes
10answers
2k views

Is it a good idea to schedule regular time to clean up code? [closed]

I'm managing a small team of developers. Every so often we decide we're going to spend a day or two to clean up our code. Would it be a good idea to schedule regular time, say 1 week every 2 months, ...
38
votes
10answers
1k views

Emotional detachment from bad code [duplicate]

We all would like to work with good, easy to maintain code that follows best practices and design patterns. However, reality is far from ideal. After all, content on sites like The Daily WTF is not ...
34
votes
11answers
1k views

How do you stay productive when dealing with extremely badly written code?

I don't have much experience in working in software industry, being self-taught and having participated in open source before deciding to take a job. Now that I work for money, I also have to deal ...
31
votes
7answers
7k views

Becoming a “maintenance developer” [duplicate]

So I've kind of been getting angry about the current position I'm in, and I'd love to get other developers' input on this. I've been at my current place of employment for about 11 months now. When I ...
31
votes
13answers
2k views

Problems (such as maintenance) in development with unpopular language

I'm developing some application with clojure(lisp) alone in my team. It starts as small application. No problem. But as it's having features and extending the area, it's becoming important program. I ...
31
votes
7answers
1k views

Code maintenance: keeping a bad pattern when extending new code for being consistent, or not?

I have to extend an existing module of a project. I don't like the way it has been done (lots of anti-pattern involved, like copy/pasted code). I don't want to perform a complete refactor for many ...
25
votes
5answers
1k views

Maintain a web application once the only developer is gone

I have a terminal disease and there is a very high chance that I will no longer be in this world by the end of the year. I have developed a web application that it is extensively used in my family’s ...
22
votes
12answers
2k views

I just started a job with Scrum and something seems to be missing. I am new to Scrum

The code is a complete mess of a combination of classic ASP/ASP.NET. The scrum consist of us patching up the big mess or making additions to it. We are all too busy doing that to start a rewrite so I ...
22
votes
12answers
2k views

How do people manage to write and maintain extremely complex and hard to read code? [closed]

Reading SQLite source code is IMO mission impossible. Yet it is a usable piece of quite complex software (it's a full-blown embedded database after all) that can be downloaded, compiled and used from ...
22
votes
6answers
1k views

How to fix a project with basically no structure?

I've been working on a software project mostly solo for over 5 years. It was a mess to begin with (I am the third or fourth developer to be working on it), and although it's less of a mess now it is ...
21
votes
13answers
2k views

When is it acceptable to NOT fix broken windows?

In reference to broken windows, are there times when refactoring is best left for a future activity? For example, if a project to add some new features to an existing internal system is assigned to a ...
21
votes
8answers
961 views

When do you rebuild an application or keep on fixing the existing one [duplicate]

Possible Duplicates: When is a BIG Rewrite the answer? Have you ever been involved in a BIG Rewrite? I am at a customer where I have been tasked to fix a number of issues they have in their ...
21
votes
4answers
1k views

Helping someone who is not and never will be a professional programmer write code that is more legible and usable to use and interpret

I am Elvis, trying very hard to learn to be Einstein. I work for Mort. What the hell is this crazy idiot talking about!?!? (You only need to read the first few paragraphs) If you don't feel like ...
21
votes
1answer
984 views

What is the effect of creating unit tests during development on time to develop as well as time spent in maintenance activities?

I'm a consultant and I am going to introduce unit tests to all developers at my client site. My goal is to ensure that all new applications should have unit tests for all classes created. The client ...
21
votes
3answers
1k views

How do you keep your basic skills from atrophy?

I've been programming for about 10 years, and I've started to migrate to more of a project management position. I still do coding, but less often now. One of the things that I think is holding me back ...
20
votes
13answers
1k views

Becoming a Better Bug-Fixer

I love being a programmer. There, I said it. However, with that said, I've realized lately that I really can't stand bug-fixing. At all. In fact, while I'm developing something, my productivity is ...
18
votes
7answers
780 views

How to improve the training of students regarding maintainability?

Maintainability is a major stake of professional software development. Indeed, maintenance is nearly always the longest part of a software life cycle, as it lasts from the project release until ...
17
votes
4answers
2k views

How to convince/prove my manager that a rewriting is needed rather than a refactoring [duplicate]

My manager wants me to refactor a gigantic amount of terribly-coupled, macroed, full of private namespace methods, hierarchy-perverted (even 10+ levels of inheritance) code which hasn't been (indeed) ...
17
votes
10answers
8k views

Understanding already existing complex code base [duplicate]

Possible Duplicate: What is the most effective way to add functionality to unfamiliar, structurally unsound code? Till now, all I have worked on is with Java projects that I build from ...
17
votes
4answers
1k views

Is there a measure of code rot? [duplicate]

I'm dealing, again, with a messy C++ application, tons of classes with confusing names, objects have pointers into each other and all over, longwinded Boost and STL data types, etc. (Pause and ...
16
votes
8answers
3k views

Why are websites (even this one) sometimes “Down for Maintenance”?

I have personally never done this. I don't understand why so many sites do, if you do your development on a development server why would you ever need to shut down your production site? I have always ...
16
votes
2answers
794 views

How do people maintain their test suite?

In particular, I'm curious about the following aspects: How do you know that your test cases are wrong (or out-of-date) and needed to be repaired (or discarded)? I mean, even if a test case became ...
15
votes
9answers
1k views

Are optional parameters helpful or a hindrance to application maintenance?

As stated in the title, are optional parameters, such as those used in C# helpful or are they a hindrance to application maintenance and should be avoided as they can make the code harder to ...
14
votes
8answers
4k views

Should we ever delete data in a database?

I am new to databases and trying to understand the basic concepts. I have learned how to delete data in a database. But one of my friends told me that you should never delete data in a database. ...
14
votes
6answers
615 views

How can I judge whether a project is particularly complex or if I'm just slow in picking it up?

I'm making little progress on a major project. The source is massive, many layers of objects, macaroni code, double-diamond graphs of multiple inheritance, half-baked features frozen when the ...
14
votes
11answers
414 views

Should you fix preexisting defects while working on something else?

Conundrum: During the course of working on a new feature or fixing a defect, you find a legacy problem in code. What should you do? Fix it and risk altering the behavior of the code. It has either ...
13
votes
12answers
1k views

What to do with a not well organized application? [duplicate]

I'm a newly graduate programmer and just got hired before my graduation. In the office, I used to create and revise modules of some applications developed by other programmers in our company. The ...
13
votes
5answers
954 views

Does dealing with legacy code help one evolve as a programmer?

I'm a Java developer with a bit more than a year of experience which places me somewhere above a junior, but not among mid-level developers yet. Recently I was offered a long-term project which is ...
12
votes
3answers
464 views

How do you break out of the role of a code maintainer? [closed]

In my last three jobs, I was a code maintainer. In all three cases, I was hired after the majority of the code for the project was already written. I'm a self taught programmer. Before I ever started ...
11
votes
6answers
666 views

What changes are too big to be made easy by proper design?

This is a rather vague question, but it's something I've never felt has been answered in a satisfactory way when reading about proper design. Generally, when learning about Object Oriented ...
11
votes
4answers
422 views

Code duplication with no obvious abstraction

Have you ever encountered a case of code duplication where, upon looking at the lines of code, you couldn't fit a thematic abstraction to it that faithfully describes its role in the logic? And what ...
10
votes
12answers
1k views

Maintainability of Boolean logic - Is nesting if statements needed?

Which of these is better for maintainability? if (byteArrayVariable != null) if (byteArrayVariable .Length != 0) //Do something with byteArrayVariable OR if ((byteArrayVariable != ...
10
votes
5answers
2k views

switch statement - handling default case when it can't be reached

If I'm using a switch statement to handle values from an enum (which is owned by my class) and I have a case for each possible value - is it worth adding code to handle the "default" case? enum ...
10
votes
4answers
315 views

What are good approaches to cleaning up old projects?

I've got some software that I wrote around 2 years ago and needs some features added to it. I've realised that it's in an awful mess, and I have the urge to move everything around, tidy up, etc. I've ...
10
votes
5answers
701 views

Evolution in coding standards, how do you deal with them?

How do you deal with evolution in the coding standards / style guide in a project for the existing code base? Let's say someone on your team discovered a better way of object instantiation in the ...
10
votes
5answers
1k views

How do I get myself out of a dead-end programming job? [duplicate]

I have almost 9 years of IT experience of which 7 years was worked in an IT company. For past 2 years I have been stuck in a non-IT based company using outdated technology and methodologies. We ...
10
votes
9answers
434 views

How have you found, refined and maintained your coding style?

Recently, I've been switching between several projects and development environments. The expectations for coding style in each is different. Now, my question is three part, the first, just of ...
10
votes
2answers
267 views

What tools or techniques are useful for describing an unfamiliar codebase?

When manually inspecting unfamiliar code (to review or modify), I seem to have three options. A top-down read of the code, choosing each next source file by how fundamental the filename seems. I ...
9
votes
4answers
722 views

How to convince my coworkers that doing things right will save them time

I recently started at a new company, with a handful of programmers. Its a medium sized company, with around 70 employees, but IT only has 9-10, and there are 3 "programmers" beside myself. However, ...
9
votes
5answers
796 views

Zero as a constant?

I have come across this programming idiom recently: const float Zero = 0.0; which is then used in comparisons: if (x > Zero) {..} Can anyone explain if this is really any more efficient or ...
9
votes
2answers
405 views

Programming paradigms and the maintenance developer [closed]

I was reading, Facts and Fallacies of Software Engineering, which has a section of maintenance. Since, I'm have been a maintenance developer for years now, I was very interesting facts presented. ...