Answer by Thomas Owens for Sufficient conditions for refactoring
To enable a codebase to be refactored, the fundamental necessity is test coverage. Ideally fast, automated test coverage. You want to be able to assert, with high confidence after every refactoring...
View ArticleAnswer by Hans-Martin Mosner for Sufficient conditions for refactoring
A significant factor is tooling used by the team and the proficiency with which developers use the tools. The concept of refactoring was originally developed in the Smalltalk context, and there were a...
View ArticleAnswer by gnasher729 for Sufficient conditions for refactoring
Refactoring takes time. If not done well it creates bugs that you need to fix. So it costs. You refactor when the benefits outweigh the cost of refactoring.There are good times for refactoring: One is...
View ArticleAnswer by Ewan for Sufficient conditions for refactoring
It really depends on where you are coming from. There is a good argument for "never refactor" if you just look at it on a time cost vs new feature benefit point of view.The common arguments in favour...
View ArticleAnswer by Gigabit for Sufficient conditions for refactoring
My honest answer is that mostly what prevents refactoring is time, i.e. resource availability. Especially in small companies there simply aren't enough bodies to refactor old stuff, what matters is...
View ArticleSufficient conditions for refactoring
I've found that many codebases in large companies degrade over time, only adding new features and never improving the design of thecodebase. Gradually there codebases degrade to what is considered...
View ArticleAnswer by Flater for Sufficient conditions for refactoring
There's this fact/urban legend that if you put a frog in hot water, it will jump out. But if you put a frog in cold water, it will stay in. If you then heat up the water, the frog does not notice and...
View ArticleAnswer by Steve for Sufficient conditions for refactoring
I've found that many codebases in large companies degrade over timeNo, I find what degrades is (a) the existence of staff who understand the code, and (b) the correspondence between the understanding...
View Article