19
我已经继承了20万行意大利面条代码-现在怎么办?
我希望这不是一个普遍的问题。我真的可以使用一些经验丰富的建议。 我刚刚在一家规模很小的科学家商店中担任唯一的“软件工程师”,他们在过去的10到20年中花了很多时间编写了庞大的代码库。(它是用一种几乎过时的语言编写的:G2-用图形来思考Pascal)。该程序本身是复杂的化学加工厂的物理模型。编写该程序的团队具有难以置信的深厚知识,但是很少或没有正式的编程基础培训。他们最近学到了一些关于不存在的配置管理的后果的艰难教训。代码本身中大量未记录的“污泥”的积累也极大地阻碍了他们的维护工作。我会避免给您这种情况的“政治”(总是 政治!),但足以说,就未来的道路需要什么没有达成共识。 他们要求我开始向团队介绍现代软件开发的一些原理。他们希望我介绍一些有关编码约定,生命周期管理,高级设计模式和源代码控制的行业标准实践和策略。坦白地说,这是一项艰巨的任务,我不确定从哪里开始。 最初,我倾向于在The Pragmatic Programmer或Fowler's Refactoring(“代码气味”等)的一些中心概念中对它们进行辅导。我也希望介绍一些敏捷方法。但最终,要想发挥作用,我认为我需要磨练5-7个核心基础知识。换句话说,他们可以实际开始实施的最重要的原则或实践是什么,这将使他们获得最大的“收益”。 因此,这就是我的问题:您将在最有效的策略列表中包括哪些内容,以帮助理顺意大利面(并在以后防止出现这种情况)?