Questions tagged [refactoring]

Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.

Filter by
Sorted by
Tagged with
3 votes
3 answers
170 views

How do you handle instantiating a large number of interconnected component objects?

I'm currently refactoring our instance startup code, which is currently a 2,000 line mud method. The issue is that that method needs to create a large number (>50) of components/service objects, ...
thecoop's user avatar
  • 529
5 votes
2 answers
2k views

C#: Refactoring an oversized try/catch/finally

Recently I've come to discover that I've inherited one of the internal auxilliary programs used. I've made a few minor fixes and features to improve it in the past, but now I've been given a major ...
rdi_pck's user avatar
  • 61
1 vote
3 answers
235 views

Refactoring a "filter" design

I need to refactor a class that became too messy. The class has a method that reads some raw data from one of our repositories, and another that "filters" it: The data is in the form of ...
RedYoel's user avatar
  • 123
0 votes
0 answers
44 views

How to handle variables for simulation? One, or multiple class, or maps?

I am trying to write a simulation that has multiple (20+) variables, which the user should be able to control without modifying the source code. Currently I'm stuck between two design choices: Should ...
Biliking's user avatar
-1 votes
2 answers
234 views

4 Months of Code Rewritten in 2 Days Team Dilemma [closed]

I recently had a project that I took me 4 months to do , I hit some very significant bugs that where impossible to track down. I said this code is absolute garbage and started from scratch, drank a ...
Chris Johnson's user avatar
1 vote
3 answers
176 views

Handling a Refactoring Project with Limited Access to Source Code

I recently finished an interview with a company as a web developer. I'm the first and only developer that is about to be hired in this company. They have a web application that was created by a ...
Saud Alghamdi's user avatar
7 votes
5 answers
770 views

Is "avoid feature envy" violating "open closed principle"?

After reading What is a" feature envy" code and why is it considered a code smell?" I know the following code is suffering from "feature envy": public class Garden{ ...
wcminipgasker2023's user avatar
3 votes
2 answers
339 views

When refactoring many functions that share state in to a single class, how can you avoid writing an "escort" class?

This well-known article criticises Java on the basis that it does not allow you to write functions that do not live in a class. This flaw forces you to write classes with names that look suspiciously ...
J. Mini's user avatar
  • 1,007
3 votes
6 answers
711 views

How do I determine how long a refactoring effort will take?

After much hard work, I've convinced my manager that some absolutely awful code needs refactoring. As with any project, they've asked me for a time estimate and I've found myself stumped. How can I ...
J. Mini's user avatar
  • 1,007
0 votes
2 answers
224 views

How to refactor this tightly-coupled method and (mostly) preserve its encapsulation?

I have recently encountered this problematic method (minimal reproducible sample in C++ but this question aims to be language agnostic past the syntax): void MyObject::twice_bind_cycle() { _bind1()...
youngson's user avatar
0 votes
4 answers
278 views

Object matching using generic method? [closed]

I have a piece of code where two objects (incoming request object and a profile object) are to be checked for matching conditions. So the first method is as below where I check whether the profile ...
Siddharth Trikha's user avatar
1 vote
2 answers
167 views

Refactor chunks of code where variables from one chunk are used in others

What is a good pattern to refactor a chunk of code where you can identify smaller chunks, but the results of these smaller chunks are used in other chunks? An example should make things more clear. ...
Peter's user avatar
  • 998
1 vote
3 answers
288 views

Is in my case role based access better than permissions?

Hello StackExchange community, I'm in a bit of an impasse for my current project. The software in question is a collaborative program designed to let employees work together on the platform and assign ...
manimerz's user avatar
0 votes
0 answers
65 views

Refactoring: where should master data reside?

I inherited a backend project and want to refactor the management of master data. The master data consists of a couple of database tables that contain fields like year, rebate_in_percent or category. ...
user15110545's user avatar
13 votes
4 answers
2k views

How should factored-out code be tested as part of the TDD refactoring step?

When in the refactoring step of a TDD process, if we "factor out" some common functionality from two (or more) code modules, how do we avoid that "factored out" code not being ...
Rob Gilton's user avatar
1 vote
5 answers
463 views

What are some considerations when deciding to fix a bug, or rewrite the code in question?

At some organizations I'm seeing a trend where if a bug is reported, engineers will directly rewrite the offending code without knowing the root cause. In general this will fix the bug, but in my ...
knart's user avatar
  • 127
0 votes
2 answers
229 views

When is it practical to design in advance of refactoring?

I have a colleague that insists refactoring to make the code testable and introduce tests should be independent from changes in architecture as part of refactoring, e.g. introducing a factory pattern. ...
DaveO's user avatar
  • 136
1 vote
2 answers
119 views

The name of this change/refactoring pattern

At first, we have a working function name foo void foo() { bar1(9); bar2(9); } Noted that the value 9 is hard-coded. Then, we want to make a change so we can make 9 a parameter yet preserving ...
tia's user avatar
  • 965
0 votes
3 answers
453 views

How to deal with an actively developed 20 year old legacy codebase [duplicate]

I know there are potential duplicates, but imo this is different because there are around 100 developers actively working on this nightmare. I have unfortunately gotten into a job where this GUI ...
hyperbole's user avatar
0 votes
0 answers
47 views

Refactor conditional multiple AND OR operations? [duplicate]

I have a piece of code where two objects (incoming request object and a profile object) are to be checked for matching conditions. So the first method is as below where I check whether the profile ...
Siddharth Trikha's user avatar
-1 votes
2 answers
192 views

Performance hit after non-functional refactoring

I was asked to refactor some C++ code recently for the purposes of increasing unit testing coverage. The problem was that the code was tightly coupled on one compilation unit, so we had the equivalent ...
Component 10's user avatar
-2 votes
1 answer
245 views

How Should I Go About Refactoring My Code With Dependency Injection? [closed]

I work on WPF applications used in testing hardware. I need to make my code base more testable and re-usable. I believe DI would help, but I'm not quite sure where to start. I've done my best with the ...
Dink McDinkleman's user avatar
0 votes
1 answer
119 views

Correct way to deduplicate conditional statements [closed]

I'm facing with problem that in every function (with serves as service for endpoint) I need to check what is value of query parameter (mode). I need to check it on many callables, E.g. def create(self,...
rozumir's user avatar
  • 111
0 votes
1 answer
536 views

Unit tests and mocking when functions arguments have changed?

I'm learning how to write unit tests on a project I'm doing with my friends. One thing we tried was to mock the return values of function calls if the functions are declared in a different "...
John's user avatar
  • 147
0 votes
1 answer
76 views

Better design for a REST import into web store

I have an import that needs to grab data from a REST service and import into an web store. It's basically an ETL type of service, but because the REST service can be slow and I don't want to call it ...
user204588's user avatar
1 vote
0 answers
206 views

What design pattern does this implementation follow?

For a middleware solution I expose an API, which processes data and sends the necessary information to different parties. In the current design we create a new client, which acts sort of like an ...
M. Mayhem's user avatar
0 votes
2 answers
352 views

Debugging to track attribute change

I have a very large C++ application running on a *nix environment, which is occasionally setting a particular date attribute on a structure, way off what it should be. I know which structure and which ...
Component 10's user avatar
2 votes
2 answers
396 views

How to handle duplicate null checks

I'm working with a legacy codebase that has a lot of functions with a nullcheck on the same object. Example: std::vector<SessionNode*> * SessionManager::SessionMap; Session * getSession(int ...
Siddiqui's user avatar
1 vote
2 answers
144 views

Should I add functionality by adding a new method to a class - or should I "register" the new functionality into a data structure?

I have one large class that computes ~50 different metrics (each metric has no side effects). My code is similar to this: class ReportingMetrics: def __init__(self, data:pd.DataFrame, config:dict)...
MYK's user avatar
  • 343
-2 votes
2 answers
175 views

When is there a case for refactoring large parts of a codebase at once? (if ever)

I work with a specific engineer (let's call them X) that, even though they have many years of experience in the industry, has a lot of trouble to manage the scope of code changes. For example, say ...
Little Pizza's user avatar
0 votes
1 answer
244 views

Refactoring business logic out to private methods and testing

I am currently working on a project where there is a class ContactMonitoringJob a Quartz IJob class​ which in brief keeps pulling from a database and checks if any new changes have been introduced ...
3m3sd1's user avatar
  • 59
4 votes
2 answers
289 views

Should I use classes instead of functions with a state needed for computation?

I have implemented the cows and bulls game in C++. The code: #include <cstdio> #include <cstdlib> #include <ctime> struct DigitMatches { int matches_in_right_positions; int ...
sshd's user avatar
  • 51
0 votes
2 answers
274 views

What is the best practice for temporarily pairing an attribute with a class

Consider a case, in which a class needs an attribute only in a very limited context. (For example, only during initialization, which is handled by a factory) I do not want to include such an attribute ...
Ali Rasim Kocal's user avatar
12 votes
6 answers
5k views

Is it bad practice create "alias" variables to not use globals or arguments with long names in a method?

Is it OK to create a variable which only purpose is to increase readability? Example: public class Example { private final HowLongCanARepositoryNameReallyBeRepository ...
Adilson Cabral's user avatar
1 vote
3 answers
552 views

Refactoring a class to an abstract base class - keep default implementation in place or move it to an an other class?

I have a class which aggregates some temporal data from a database and provides a bunch of methods to query said data. It looks like this: public class InfoProvider { public IEnumerable<...
Bill Tür stands with Ukraine's user avatar
4 votes
3 answers
1k views

Should I make my class mockable by marking its methods as virtual or by creating an interface?

In the process of refactoring non-testable code we are re-designing some of ours classes so that it can be easily replaced by a stub or mock during unit tests. Here is an example of such class (...
Delgan's user avatar
  • 366
0 votes
2 answers
80 views

Restructuring a “processing slip” like object used in many steps

I have worked on a library which processed data through multiple steps. It was written in R, a dynamic programming language where one could just add fields to existing “objects”, which were just ...
Martin Ueding's user avatar
1 vote
4 answers
120 views

Should I public method and test it instead of testing a caller

I have a method called GetValueA() and GetValueB() which return string that in formatted public string GetValueA(){ string a = service1.GetA(); return Format(a); } public string ...
weanich sanchol's user avatar
1 vote
2 answers
201 views

Anemic Domain Model VS coupling and dependencies- design conflict - need an Object oriented advice

on design stage , after finding my main objects , I am always find my self writing "manager" or "controllers" classes in order to handle the connection between them. some of the ...
user3717741's user avatar
0 votes
4 answers
321 views

Change architecture design to API to reduce coupling

I was reading articles about TDD and I found the following one. https://blog.cleancoder.com/uncle-bob/2017/03/03/TDD-Harms-Architecture.html In order to answer this question I think someone should ...
Rauuuñ's user avatar
  • 17
-1 votes
1 answer
120 views

Optimizing methods with multiple if checks on getter values

I have a method where I fetch user input, check if certain values exist, and based on that build my own custom input object that I would use to search in a database. The code for the search method is ...
AnOldSoul's user avatar
  • 173
2 votes
2 answers
566 views

What methods can be used to simplify mathematical expressions?

For fun, I would like to design a mathematical expression evaluator, with variables. It could simplify the entered expressions by factoring them, reducing them to a sum of simple fractions, ...
Foxy's user avatar
  • 219
2 votes
1 answer
234 views

Composition or Inheritance for classes with almost similar implementations but different input and outputs for methods?

I have the following classes, which have quite similar method implementations. Only the classes' method inputs and outputs seem to be of different types. When I put it like this, it sounds like a case ...
AnOldSoul's user avatar
  • 173
-1 votes
1 answer
622 views

rails, how to refactor nest if statements? [duplicate]

I'm working a project where I found another developer wrote a method as you see it below. How would I clean those IF statements and refactor this method. Also is it ok ti set a variable to nil ? def ...
egyamado's user avatar
  • 117
-2 votes
3 answers
161 views

How to determine if a module within an application is worth refactoring or rewriting?

We all know Joel Spolsky's famous article to never rewrite working code. How about if we don't consider overall program but a module within? Module can be e.g.: payment handling microservice in e-...
Maciej Pszczolinski's user avatar
41 votes
8 answers
7k views

Getting buy-in for cleaner and more structured code

I am at my company for half a year now and think that I have gotten a fair idea of their codebase. Initially I didn't dare to form strong opinions, but now I start to feel that the code could benefit ...
Martin Ueding's user avatar
2 votes
1 answer
136 views

Resolving lambdas that depend on each other

In the C++20 codebase that I work there are a couple of functions which have helper functions defined as lambdas. I can see the idea of locality for these helpers. By having them there in the function,...
Martin Ueding's user avatar
1 vote
2 answers
565 views

No trivial god-class refactoring

Consider you have the following code: class UserContainer { List<User> user; //some methods to get specific users, for example users, which are higher than 1,70meters } The User have a ...
Robin Kreuzer's user avatar
0 votes
2 answers
811 views

Good design for a class with multiple methods to test but one public method

I've been trying to refactor some existing code which is in essence a giant nested procedural call inside what should otherwise be an object oriented architecture. The entry point to the relevant code ...
User's user avatar
  • 23
8 votes
4 answers
2k views

Use local or nested function for readability?

I found in the catalog of Refactoring by Martin Fowler, with Kent Beck book that they mention Extract Function refactoring. It is a good practice to wrap your related code into local functions to ...
Raikish's user avatar
  • 189

1
2 3 4 5
15