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

471
votes
19answers
142k views

I've inherited 200K lines of spaghetti code — what now?

I hope this isn't too general of a question; I could really use some seasoned advice. I am newly employed as the sole "SW Engineer" in a fairly small shop of scientists who have spent the last 10-20 ...
145
votes
31answers
53k views

How do you dive into large code bases?

What tools and techniques do you use for exploring and learning an unknown code base? I am thinking of tools like grep, ctags, unit-tests, functional test, class-diagram generators, call graphs, ...
98
votes
8answers
8k 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. ...
193
votes
6answers
62k 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 ...
38
votes
8answers
2k 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 ...
23
votes
9answers
2k views

How should I go about learning a very large and complex application? [duplicate]

Being a young and fairly inexperienced developer recently employed by a "real" software company I'd like some opinions and pointers on how to do the following: Approaches on how to get familiar with ...
23
votes
8answers
1k 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 ...
32
votes
7answers
4k views

Who should pay for fixes/bugs? [closed]

So I just started freelancing both in desktop/web development and this client who already accepted my work, and payed me keeps coming back at me each time he finds a bug etc. And I have found myself ...
9
votes
2answers
872 views

Updating copyright headers each new year just because Jan 1st has passed? [duplicate]

I've seen some projects that - with each new year - start to change all files in their source-tree to update the copyright year. Isn't this just pushing hot air on a level of magnitude? AFAIK: ...
71
votes
12answers
5k 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 ...
19
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 ...
6
votes
3answers
621 views

Functional testing before code checkin

I am working on a project with legacy code where it does not have much code coverage. One of the idea to improve that is to enforce a rule that each code check-in must have test, not only test but ...
8
votes
2answers
579 views

How do you call the process of taking a part of a function and making an individual function of it?

I know there was a technical term for this. I'm just can't remember what it was. If the title needs clarification, here is what I mean; If this is the old code: Result foobar(Param1,Param2,Param3) { ...
372
votes
28answers
110k views

I'm doing 90% maintenance and 10% development, is this normal? [closed]

I have just recently started my career as a web developer for a medium sized company. As soon as I started I got the task of expanding an existing application (badly coded, developed by multiple ...
79
votes
21answers
9k 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 ...
49
votes
10answers
6k views

Graduate expectations versus reality [closed]

When choosing what we want to study, and do with our careers and lives, we all have some expectations of what it is going to be like. Now that I've been in the industry for almost a decade, I've been ...
26
votes
10answers
17k 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 scratch ...
56
votes
7answers
8k 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 ...
25
votes
12answers
3k 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 ...
61
votes
16answers
9k views

Is the creation of brand new software generally a major part of most programming jobs? [closed]

I have worked in software development for over 10 years now, and it's dawning on me that I rarely get to create anything "new". I realize that "new" is a vague term, but I would define it as anything ...
11
votes
7answers
2k views

How to ease the maintenance of event driven code?

When using an event based component I often feel some pain at maintenance phase. Since the executed code is all split around it can be quite hard to figure what will be all the code part that will ...
3
votes
6answers
1k views

Working in a company that does not comment their code at all? [duplicate]

I work for a small software development house (10~ developers, a few product managers and a few support staff) that sells various products and services to organisations internationally through ...
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 ...
7
votes
4answers
452 views

Should large or old codebases be expected to be easy to navigate?

I'm an Undergraduate Computer Science Student currently on a placement year at a company that produces and supports a large enterprise web application. I'm loving the experience of seeing how software ...
5
votes
5answers
2k views

How are financial organizations planning for the degradation of old programming languages such as COBOL? [closed]

I know that some financial organizations still use "dead" languages such as COBOL. I'm wondering what will happen in the future, when almost no one will program in those languages, and the maintenance ...
2
votes
4answers
372 views

Considerations before rewriting a software component from scratch? [duplicate]

A piece of software is a patchwork of old and undocumented efforts. There are no comments, no documentation, and the code is hairy -- it involves Unix shell scripts that check for dummy files and then ...
8
votes
9answers
2k views

What is the way to understand someone else's giant uncommented spaghetti code? [duplicate]

Possible Duplicate: I’ve inherited 200K lines of spaghetti code — what now? I have been recently handled a giant multithreaded program with no comments and have been asked to understand what ...
52
votes
17answers
10k 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 ...
34
votes
2answers
2k views

How do you keep your basic skills from atrophy? [closed]

Coding is only one aspect to professional programming. My job requires me to code, but it also requires me to do other things for extended periods – sometimes days or weeks go by when I'm not just ...
34
votes
7answers
8k 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 ...
30
votes
11answers
3k views

What factors should influence how I determine when to abandon a small project with a friend? [closed]

I've found myself in a tough spot as of late. Been working on a game with a programming buddy for nearly 8 months now. We both started off as newcomers to programming around August of last year, he is ...
14
votes
10answers
2k views

Are optional parameters helpful or a hindrance to application maintenance? [closed]

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 ...
12
votes
9answers
495 views

What mistakes do your users make, and how can you update your application to handle them? [closed]

In fact this question is about cautions to be taken to enhance quality user experience and reduce avoidable support calls.
18
votes
7answers
858 views

How to improve the training of students regarding maintainability? [closed]

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 ...
13
votes
3answers
606 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
4answers
811 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, ...
8
votes
6answers
1k views

Remake old web forms application in asp.net mvc [duplicate]

I've inherited the code maintenance of a complex web site for a customer that continuously requests enhancements for it. This application took years to develop and I'm facing increased difficulties to ...
12
votes
5answers
957 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 ...
11
votes
6answers
773 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 ...
9
votes
8answers
2k views

Copy-and-Pasted Test Code: How Bad is This?

My current job is mostly writing GUI test code for various applications that we work on. However, I find that I tend to copy and paste a lot of code within tests. The reason for this is that the areas ...
6
votes
4answers
296 views

Communications regarding maintainability of code [duplicate]

I'm in search of good language or metaphors to discuss the maintainability of code with non-technical folks (PMs, business sponsors &c). In particular, I've recently created a few one-off, get-it-...
5
votes
9answers
580 views

Have you worked with poorly designed application? [closed]

I have been asked to work in a Java web application that is very very poorly designed. In the name of "making this easy", they have come up with their own "framework" to make things extremely ...
16
votes
8answers
4k 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 ...
13
votes
4answers
470 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 ...
3
votes
3answers
299 views

Study a project to be able to maintain it in future [closed]

I've joined as a fresher (trainee) a software company developing for Windows Store. I don't know much about C#. My company has started Windows Store development recently. They didn't do .Net ...
7
votes
3answers
910 views

Disillusioned with agile; how do you prepare for life after release 1.1? [closed]

My company is going full steam with the agile process, with multiple agile projects in work. The first agile team, the proof of concept, carried the product through release and the first post ...
7
votes
6answers
337 views

Policy and practice on code maintenance

I just came out of University and have been working at this company for roughly 8 months, while I was given the title of developer, most of the time I have spent on is fixing and debugging other ...
4
votes
3answers
239 views

Bringing in New Architecture During Maintenance on Legacy Systems

I have been tasked with adding some new features to a legacy ASP.NET MVC2 project. The codebase is a disaster and I want to write these new features with some thought behind the implementation and not ...
3
votes
5answers
282 views

What is the standard /an acceptable period of time to support a particular version of software?

Let's say version 2.4.x of Software Package X was released 2 years ago, and was sold up until about 6 months ago. Version 3.1.0 is now out (which fixes a lot of the issues with version 2.4.x), and is ...
2
votes
1answer
578 views

Maintaining code-style conventions for large projects [closed]

For a while I've been maintaining an ad-hoc script to check code style against our project's guidelines. I'm aware of AStyle/Uncrustify and have used them, but they are best for once-off code-style ...