您如何说服您的经理您的项目需要大规模重构? [关闭]

2023-12-27

我作为承包商加入了一个铁路项目。该项目已经进行了一年多。该代码由大约 10 名不同的开发人员编写,其中大多数也是承包商。他们有不同的代码风格。其中一些来自爪哇。该代码的 metric_fu 得分非常糟糕。许多函数都很长(100 - 300 行)。有些函数具有大量的逻辑分支、循环和递归。每个请求都会生成大量的 SQL 查询。性能很差。许多过时的代码从未使用过,但从未有机会被清理。核心架构完全是错误的或者是过度设计的。代码覆盖率只有25%左右。视图和局部是混乱的并且难以阅读和理解。

经理试图通过不断添加新功能来满足首席执行官的要求,但是新功能越来越难以在不破坏其他功能的情况下正确实现。他知道代码很糟糕,但不想花太多精力来修复它们,因为重构会花费太长时间。

作为承包商/开发人员,有什么好方法可以清除这种情况并方便经理或首席执行官分配一些时间进行重构?

相关问题

我怎样才能说服持怀疑态度的管理层和同事允许重构糟糕的代码? https://stackoverflow.com/questions/38144/how-can-i-convince-skeptical-management-and-colleagues-to-allow-refactoring-of-aw

如何重构预算 https://stackoverflow.com/questions/737671/how-to-refactor-on-a-budget

与不合逻辑的管理者打交道 https://stackoverflow.com/questions/497234/dealing-with-illogical-managers


以我有限的经验:

  1. 不可能让经理相信有必要留出时间进行重构。你可以让他意识到这一点,并在每次因为糟糕的代码而遇到问题时强调这一点。然后继续前进。希望你的老板能解决这个问题。

  2. 参与一个正在运行的项目并认为“这完全是垃圾”是很常见的。给它一些时间。你可能会开始在疯狂中看到一种模式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您如何说服您的经理您的项目需要大规模重构? [关闭] 的相关文章

随机推荐

  • 根据精度、召回率、f1 分数计算准确度 - scikit-learn

    我犯了一个巨大的错误 我将 scikit learn svm 准确度的输出打印为 str metrics classification report trainExpected trainPredict digits 6 现在我需要根据以下
  • 将 IEnumerable 变量从 ColdFusion 传递到 .NET

    我正在努力将 ColdFusion 10 与自定义 NET DLL 集成 但我无法对其进行调整 在此过程中 除了创建一个IEnumerable要传递给对象的方法之一的数据类型 这是我需要集成的内容 这是Set Events我遇到麻烦的方法
  • 使用 Django 通用视图时可以过滤 request.user 吗?

    我想做这样的事情 从我的urls py 但我不知道是否可以让用户发出请求 url r jobs page P
  • Highcharts 绘图和图表之间的填充,如何删除?

    如何删除图表和绘图之间的填充 我希望我的图表从绘图边缘开始并以相同的方式结束 但无论我尝试什么 我都无法删除填充 Thanks 您可以通过以下方式做到这一点 plotOptions series pointPadding 0 groupPa
  • 引发“pytesseract.pytesseract.TesseractError:(3221225477,'')”

    当我尝试用python找出图片中的中文单词时 出现以下错误 顺便说一下 我在tessdata目录中已经有 chi sim traineddata 训练文件 并成功尝试找出图片中的英文句子一张图片 所以这个错误真的让我很困惑 C Users
  • iOS如何发现蓝牙耳机及其事件

    我正在尝试发现 蓝牙耳机 并获取其事件 我读了 核心蓝牙 文档和实现的示例代码如下 它不会触发委托方法 didDiscoverPeripheral 有什么解决办法吗 Code CBCentralManager myCentralManage
  • 如何在Pycharm中的Robot框架测试中放置调试/断点?

    我的 Robot Framework 中的 py 文件允许我引入断点 但 robot 文件不允许 如何在 robot 测试文件中引入和切换断点以进行调试 无论如何 您无法在 robot 文件中添加 Pycharm 断点 原因是你的测试脚本不
  • Sbt 0.13 getEngineByName(“JavaScript”) 的 ScriptEngine 为 Null

    当我运行使用的测试时getEngineByName JavaScript 在 sbt 0 13 中该方法返回null 安全代码在 sbt 0 12 x 上运行良好 尝试过不同的环境 Windows 7 和 Mac 同样的问题 我尝试手动设置
  • 用户“root@localhost”访问被拒绝(使用密码:NO)

    我正在尝试在 Windows 桌面上运行 WordPress 它需要 MySQL 我安装所有东西Web Platform Installer这是由微软提供的 我从来没有为 MySQL 设置 root 密码 并且在安装 WordPress 的
  • 如何在按住表格视图单元格时逐渐增加它的大小

    我想做的 逐字 将表格视图单元格保持指定的时间 一旦到达该时间段 细胞高度就会逐渐增加 当我松开手指时 单元高度停止增长 我拥有的 我有几个 tableViewCell 按下某个单元格指定的时间后 使用 let longPressRecog
  • 将 int 从 c# gethashcode() 转换回字符串?

    一个非常简单的问题 我正在做一件简单的事情 我有几个string like string A usd 我想获取 C 中的哈希码 int audusdReqId Convert ToInt32 usd GetHashCode 现在我怎样才能转
  • 上传到 FTP 中的文件夹吗?

    我正在使用以下代码来学习如何使用 FTP 加载文件 如何设置文件上传的路径或文件夹 using System using System IO using System Net using System Text namespace Exam
  • Javascript:声明全局使用的函数的最佳方法?

    我的 javascript 文件变得相当大 3000 多行 我对如何布局我的文件和 delare 函数以便它们可以在文件中的任何位置调用感到困惑 总结一下我的 JS 文件目前看起来有点像这样 ALL GLOBAL VARIABLES FIR
  • SQL查询查找ID不在另一个表中的记录

    我在数据库中有两个具有绑定主键的表 我想在它们之间找到一个不相交的集合 例如 Table1 ID Name 1 John 2 Peter 3 Mary Table2 ID Address 1 address2 2 address2 那么我如
  • 异常断点 - LLDB 结果与 GDB

    我专门搜索了这个问题的主题 但没有找到任何与我的经历相近的内容 如果我忽略了答案 请原谅我 我熟悉 GDB 和异常点 断点等 但是下面的 GDB 与 LDB 调试测试让我没有得到合理的回应 全局测试值 Xcode 4 2 1 新的单一窗口项
  • Android推送通知-如何获取设备ID

    我陷入了使用 Google 云通知创建推送通知的过程 我正在做的是我应该获取设备的设备 ID 的部分 以便稍后当我需要发送推送通知时可以使用该设备 ID 所以我有这个代码 GCMRegistrar checkDevice this GCMR
  • 在 Android 中创建选项菜单

    我正在尝试在我的 Android 程序中创建选项菜单 我正在使用以下代码来扩展选项菜单 Override public boolean onCreateOptionsMenu Menu menu super onCreateOptionsM
  • 如何保存单选按钮的状态

    我制作了 4 个单选按钮 并希望在单击其中任何一个按钮时保存状态 然后希望在应用程序中使用该保存的状态 我该怎么做 myOption1 setChecked true myOption2 setChecked true myOption3
  • 将 char 数组转换为字符串

    如何使用 Arduino 将字符数组转换为字符串 char charArray String string String charArray This doesn t work String 类型的初始化与 C 构造函数类似 String
  • 您如何说服您的经理您的项目需要大规模重构? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我作为承包商加入了一个铁路项目 该项目已经进行了一年多 该代码由大约 10 名不同的开发人员编写 其中大多数也是承包商 他们有不同的代码风格 其