即使这不是真正的代码问题,我仍然在这里问。因为我想知道:你们是如何在代码库中工作的,那么每一点变化都会破坏多个功能和类?你做出或试图重构的每一个小改变都会让你的一切都爆发。
考虑:循环依赖,双重包括(C ++),普通整数而不是交换机的枚举,内部库依赖于最初构建到该库的应用程序,从库中开始的虚拟线程,循环不在主要但是在库类中在后台执行黑魔法,库中的单例称为ALL OVER应用程序中的位置,长且难以理解的switch语句,不一致的变量命名,变量名称和列表中的拼写非常糟糕等等上。
每次我想添加一个功能时,我发现该功能的基础是不完整,不稳定,不可维护且不适合扩展。每当我查看代码时,我几乎立刻就会陷入困境,似乎在没有重构一切的情况下添加一个功能是不可能的。
我可以将这个功能破解到代码中,但这会让我回过头来咬我,所以我只是拒绝这样做,即使其他团队成员似乎并不关心它自己。我认为这种态度使代码库变得非常糟糕。
我是学生,这是一个学校项目,所以你可能已经接受了:我绝对不是一个甲级程序员,我是一个菜鸟,但是一个无法控制的菜鸟渴望做一些干净,优雅和可重复使用的东西。
看起来似乎没有一个完整的重构,人们100%不愿意这样做,而且我反对其他29个人。每当我开始查看代码时,我都会感到渴望在墙上碰到我的脸,吃掉我的脸,删除项目,再也不会因为沸腾的仇恨,沮丧和排斥来自其他说法的评论而再次看到它&# 34;但它现在有效,我没有看到问题"。你怎么处理这样的东西?我真的可以使用一些技巧来实现我的理智。
答案 0 :(得分:1)
重构是一件好事,但为了做到这一点有一个潜在的假设 - 有很多好的测试。
您的代码库是否有足够的单元测试来清楚地概述每种方法的职责?如果没有,你应该开始写它们。不要从大爆炸开始。
确定一个试验性的功能部件 - 并为它们编写彻底的单元测试。衡量所编写的测试是否足够的指导原则是代码覆盖率(尽管它只是一个指导原则)。现在,对功能部分进行重构,牢记SOLID原则。