Linked Questions

89
votes
10answers
10k views

Estimating time costs in legacy codebase

Recently I started working on a project where a very old monolithic application is being migrated into microservice-based architecture. The legacy codebase is very messy ('spaghetti code') and often ...
38
votes
6answers
8k views

Methodology for documenting existing code base

I work as part of a team on an existing application that has no inline documentation, nor does it have technical documentation. As I've been working on various bug reports on the application, I've ...
2
votes
1answer
76 views

What types of documents should I include in a legacy software documentation package?

TL;DR: What would you look for in a collection of documentation when taking over an app to be run a larger scale than originally designed for? I've been tasked with writing documentation for an ...
-2
votes
1answer
97 views

New frontend for legacy code

How would you engineer this: You have a legacy application that is a big ball of mud and a monolith. This application is "impossible" to change to look good on mobile devices. The management ...
9
votes
4answers
2k views

How can I update a large legacy codebase to meet specific quality standards?

There is a lot of information about tools and techniques for improving legacy codebases, but I haven't come across any successful real world case studies. Most advice is on the micro level, and while ...
0
votes
2answers
216 views

Anti-pattern in which code blocks are indirectly used as parameters

I was recently trying to explain a particular anti-pattern to some novice programmers and found that it was hard to express without an overly-detailed example. I'm sure it has a name and that someone ...
0
votes
0answers
79 views

What to do with a legacy code base with no unit tests and complex architectural structure [duplicate]

I have been working for my company for almost a year now and been primarily focused on adding features and maintaining two 15+-year-old WPF Projects and one 20+-year-old WinForms Project. The ...
4
votes
4answers
569 views

How to comprehensively test software that doesn't play well with testing?

I'm currently working in a project that aims to implement automatic testing of a software package. You can imagine this software is a bit like Excel in that it has a workspace that contains all the ...
1
vote
1answer
97 views

Modernizing legacy application

We have an application that has served us and our clients well from some 20 years now. Pretty good track record but it's obviously showing it's age in some areas. We are looking for advise and ...
0
votes
0answers
73 views

Structuring a “Large” Windows Forms Project and Solution To something with Multiple Sub-Projects

I've willingly inherited a VB.Net forms project based on .Net 3.5 last edited with VS2012. I was able to open it up and up-convert it to VS2017. I can compile and run it and make some little tweaks. ...
3
votes
1answer
313 views

How to modernize large legacy Fortran program? [duplicate]

Problem Background Recently, I joined a government agency as a software engineer/scientist/analyst. Previously, worked in software industry - gained 3 years of software engineering experience at ...
13
votes
5answers
12k views

How to document a project which is already developed?

I would like to know what options are available for documenting a project which has already been developed, as the developers who worked on didn't write even a single page of documentation. The ...
-1
votes
1answer
286 views

How to ramp-up software testing from zero on a code base of approximately six years of development and in a team without practical knowledge?

In a feedback for a (deleted) question I asked here last year, I was told that there is not easy way to do software testing. We may find prepared test cases for protocols but in most case the test are ...
1
vote
7answers
367 views

Dealing with large code base quickly in agile

At my current company, the project I work on is coded in Java, at least for the systems / backend part. Whenever I get assigned a task dealing with the Java code, it take me hours or even days to ...
1
vote
0answers
101 views

How do I best document a codebase that someone else will soon inherit? [closed]

I will be changing jobs soon, and I would like to make life as easy as possible for whoever inherits the codebases in the future. There is unlikely to be overlap time where a new hire could ramp up ...
0
votes
0answers
65 views

What should I do if I am unfamiliar with my organisation's codebase? [duplicate]

I've recently started my first job as a software developer at a small startup company. I do not have a degree in a software engineering related field, although, I have very recently completed an A-...
9
votes
9answers
3k 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 it ...
1
vote
1answer
153 views

How to ensure invariants, and is that even the right question?

A team created a structure like this (pseudo-code): struct Rectangle { int left, right, top, bottom; } Half a project later, the team realized that two thirds of the code was filling this ...
-3
votes
1answer
170 views

What things to refactor first [duplicate]

I do understand this is a wild question and totally open-ended but just wanted to know that I am barking up the right tree. I've inherited a large code base of many solutions and services, and whilst ...
22
votes
8answers
4k views

Agile - What we doing wrong?

I'm a developer in an agile team, and we try to use Scrum. So I'll put here a hypothetical problem to illustrate the situation. We have a very old app, using some messy and bad maintainability ...
0
votes
2answers
141 views

Building dynamic code that can still handle many one-offs?

So we're having a rather heated debate at work as to what would be the best practice going forward while refactoring our reporting system. Most of us have some strong opinions one way or the other, ...
122
votes
7answers
13k 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. ...
-5
votes
1answer
577 views

Display or Sketch a graphical representation of a large code

At my new work I am dealing with a quite big C/C++ project (50k lines in multiple files). I usually "draw" what the code is doing to understand its functioning but this time I am struggling a bit ...
3
votes
2answers
213 views

Best practice for keeping legacy models in code?

On my first part-time programming gig during college, I dealt with a large-ish web application responsible for handling a periodic event hosted by our client, largely a plain CRUD snoozefest with a ...
10
votes
7answers
3k views

How to deal with a large codebase with no requirements and the responsible person leaving the company soon [duplicate]

i am faced with the following scenario and i wonder if you guys have some tips for me on how to approach this. One of my colleagues is going to leave the company in a few month and i am ordered to ...
2
votes
1answer
220 views

How do I triage a website effectively?

I've inherited responsibilities for maintaining a section of enterprise intranet, and my manager has tasked me with, "Clean up the code, please. We're probably going to get lots of change requests ...
5
votes
3answers
852 views

Refactoring and documenting a big monolithic system

I have started working on a new project and to my surprise its written by a single developer with almost no tests at all, the remaining tests are either buggy or feel error prone throwing a lot of ...
50
votes
7answers
8k views

How can I avoid causing bugs in the software when I fix unrelated bugs? [duplicate]

I'm a software intern and I am assigned bugs to fix as well as features to add to the software. When I add features, everything works well. My problem is more with fixing bugs. I'm working on an ...
0
votes
1answer
271 views

Best practices for data deprecation

I have inherited a 10+ year old project that has been handed down through many developers. Needless to say, there are many instances where there is some class or object property that no one knows what ...
0
votes
1answer
100 views

How to approach unorthogonal system?

I work on a software platform that is homegrown and, for the most part, used internally in the company but it is deployed in facilities across the globe. This system runs on a specific set of ...
2
votes
2answers
2k views

How to approach the understanding, documentation and validation of legacy code [duplicate]

I've been tasked with studying a Python code, which runs on an orchestrator, which schedule the launch of the code in correspondence of some events. The code imports some modules, and it's basically ...
2
votes
2answers
230 views

Object Oriented Re-Design/Re-Write

Let me begin by stating I have already reviewed the following related questions, and just wanted to showcase the software architecture which I have inherited to see how opinions may vary. When is a ...
12
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 ...
6
votes
3answers
1k views

Writing clean code without knowledge on the programmed topic

Are there any tips that can help me create clean code when I'm working with something poorly documented and completely new to me? It is easy to write a clean code when we are writing something for ...
4
votes
4answers
956 views

How to approach the BIG BALL OF MUD pattern from the architectural POV? [duplicate]

I am facing a BIG BALL OF MUD pattern (according the Foot and Yoder paper) at my current job attribution. Interestingly that's not really classified as an Anti-Pattern, and yes the Product works at ...
15
votes
5answers
1k views

Should older code be updated to use newer language constructs, or should outdated constructs be stuck with?

I want to make some enhancements in some still-functional code that was written a long time ago, before the programming language it is written in grew in features. In theory, the whole project uses ...
2
votes
3answers
433 views

Refactoring Atrocious Java Code [duplicate]

So I recently started a new job for a small software company. They've got some old technology which I was aware of during the interview process. However, I've been digging into their code-base, and I'...
4
votes
4answers
659 views

Refactoring Bittersweet PHP: How can I make this less painful?

I've just been assigned a large project. The client has had multiple developers across different companies working on their (intended to be) large, MySQL driven eCommerce site. The DB schema is ......
1
vote
1answer
107 views

Overtake the maintenance of a software package

Recently I am using a software package which seems pretty useful, but which I don't understand how it works internally. This package contains software generated by several PhD students and lecturers ...
13
votes
4answers
834 views

Is there any commonly accepted guidelines about how to write modern C?

I have a strong Java/Groovy background and I've been assigned to a team that maintain quite a big C code base for an administrative software. Some pain points, like dealing with blob in the database ...
0
votes
1answer
618 views

How to go about upgrading spaghetti code? Is it worth it? [duplicate]

I'm working on medium sized ASP.NET MVC 4 web app, that is about 2.5 years old. Around 25-30k lines of code. The project has never followed any of the good .NET design practices. It is a very tightly ...
0
votes
1answer
158 views

take over an existing (partially finished) Android project [duplicate]

I've been asked to takeover an existing Android project and the developer who was previously working on this project has left many things incomplete and un-solved with some really bad code ...
8
votes
2answers
676 views

Is it wise to use Clang for personal code analysis in a project that builds with gcc?

I started to work on several C projects that are building using gcc. I believe this choice was made for several reasons: Had to cross-compile for arm very early on (I think). Performance is the first ...
-2
votes
3answers
1k views

inheritance and polymorphism decrease readability

Most of financial apps have complex calculations and over time have change in calculation methods. Then you mostly create a new version for your calculator class that extends previous calculator and ...
2
votes
1answer
482 views

What's a good approach for refactoring code that starts looking like spaghetti?

Synopsis: I am working on a level editor for a game written using Unity, the game is actually a new engine for an old game. This is a +20 years old game and its data structures are by today standards,...
30
votes
6answers
8k views

Thousands of errors!

I was assigned to a new project recently. Well, an old project actually, written in classic ASP. Now a new version of the application is being written in the latest ASP.NET, but it's not expected to ...
1
vote
3answers
237 views

How to gently steer a giant PHP app toward better practices? [duplicate]

So I'm responsible for maintaining and enhancing a PHP codebase that runs to around 1,100 files and 120,000 lines of code. In general, it's not terrible, although since it was written over some 10+ ...
2
votes
1answer
253 views

Working with a large, messy object [duplicate]

I have been handed a very cluttered, "One Ring" object (one object to rule them all). The OR class has 40 fields. These fields map to 16 different objects (the OR has all the fields from the 16 ...
2
votes
2answers
522 views

What is a good approach to get a detailed system design from an existing system?

I will be working on a system which will be ported over from Java to .Net. It is a pretty big system. I don't have any specifics about how the system is designed, no documentation, nothing. You know ...
7
votes
5answers
3k views

How do I maintain a really poorly written code base? [duplicate]

Possible Duplicate: I’ve inherited 200K lines of spaghetti code — what now? Recently I got hired to work on existing web application because of NDA I'm not at liberty to disclose any details but ...

15 30 50 per page