我如何记录别人的过去工作?[关闭]


9

我们处于一种糟糕的境地,因为过去的工作人员对关键业务系统所做的定制文档很少。对我们的ERP软件的Crystal Reports,数据库实体和专有配置/编程文件进行了许多更改。

当前文档通常读取如下内容:

该程序在开具发票之前运行。已知错误:无。

安装软件X后运行此程序。

更改了此报告中的以下字段:(未解释如何或为什么)

我们的IT部门很小,就ERP软件而言,大多数工作都集中在一个人上(现在就是我),所以这里没有其他人知道我们所做的一切。IT和会计部门了解点点滴滴(有时很有帮助),但这还不够。

另一个问题是我们的会计部门似乎认为我们有据可查。的确,我们保留了很多错误记录,但很少有解释(如果有的话)解决这些问题的方法。我们有数百篇论文解释错误,但是解释更改的文档(如上所示)几乎没有用。

当我不知道所做的全部工作时,如何记录过去的更改?我可以先记录一下我们所做的更改:文件,数据库表等等,这些是系统正常运行所必需的。我还可以记录我们做的 ; 运行报表时,为什么要告诉人们使用X报表/程序。但是当这些定制的东西之一出现问题时,我总是回到正题。

我如何主动为自己和他人记录这些内容?

Answers:


14

我认为这是徒劳的。如果它有效,则不起作用,则必须对其进行修复。

记录旧内容的最佳方法是在您进行处理,记录正在做的事情以及解释业务逻辑(我认为没有记录)。对于任何新开发人员来说,这都是很大的帮助。

说到记录旧代码/事物,必须有人拥有。假设这是您当前的经理。他/她可能没有完全的技术知识,但会知道进行了哪些更改。在这种情况下,这不是您的工作。可能是经理可以写一些有关更改的内容。这将有助于保留历史记录。如果出现类似问题,您可以深入研究那些领域,这可能对您很有帮助。但是进入代码并记录这些更改是非常无用的IMO,并且可能是不可能的。


2
是的,这是Boy Scout Rule的另一个,但是我还要添加-文档在您的源存储库中,而不是Wiki中。您的文档离源代码越近(例如,通过JavaDoc或Visual Studio中的XML),则保持更新的可能性就越大,并且它会随代码一起进行版本控制。我不是唯一一个谁喜欢rstsphinx用于保持写文档接近代码
Mark Booth

9

放弃记录变更的工作

而是开始记录当前有效的方法以及操作方法。在将来进行更改时,请保持该文档为最新和最新。


8

你有源代码控制吗?

您能算出那件事发生了什么变化吗?

如果是这样,则您可以将其映射到业务变化,无论是新功能还是错误修复。

是否可以复活旧的开发人员邮箱?(不确定是否可以解决隐私问题)。拖网捕捞可能会获得很多信息。


使用了源代码控制...真的很差。没有有用的提交消息,SVN主要用作备份。我可以看到(大概)添加了什么文件,仅此而已。我们的自定义项都在它们自己的文件夹中(更改的报告,表单更改等),但这是我最好的。Diff并没有任何帮助,因为除SQL语句外,所有内容都以编译文件形式存在。
Ben Brocka'2

5

首先是第一件事。您在哪里存储文档?如果还没有,请建立一个Wiki。我本人更喜欢dokuwiki,如果您愿意的话,甚至还有一个预建的vm

这提供了一些重要功能:

  • 可以在公司局域网中的任何位置访问文档(在新计算机上安装...)
  • 所有文档都放在一个地方
  • 所有文档均可搜索
  • 您可以进行协作(新同事,软件用户)

现在,如果您的文件为纸质文件,那么祝您一切顺利。如果您有Word文档,请构建一个导入脚本

最后,只需使用东西。每当您需要安装某些东西时,请在Wiki中添加注释。如果遇到极端情况,请将其放入Wiki。这是协作的亮点,因为您可以让其他人为您完成工作。

继续阅读更具体的文档,如果您需要使用各种项目的源代码,请确保已设置正确的开发环境!有关物品清单,您应该具有:

最后,由于文档可能很无聊,因此使其成为一个游戏。给清单中的每个项目“点”,并定期检查您的“分数”。这是查看您的成就以及成就的好方法。它还会标出您下一步需要去的地方。

以此为契机,可以学习有关如何建立适当的开发环境的许多知识,并且不要害怕尝试并继续前进。找到您喜欢的东西并迁移环境,以使事情变得更好。将此作为您寻求构建最佳解决方案的项目进行处理。

编辑:

如下面的钻机注释所示,要做的另一件事是创建源代码图。Freecode有东西本文列出了一些流行的语言。


您没有提到的(我从未在ERB项目中工作过)是我过去使用.NET和Java完成的一件事,它使用逆向工程工具自动生成类图和序列图。他们对此很有帮助。在这种情况下有没有类似的东西?
钻机2012年

+1,好信息,您能给我打电话给我有关dokuwiki的信息吗?
PresleyDias

@PresleyDias以及链接中的内容是什么?检查功能列表。我们的设置使用北极模板,因此Wiki充当迷你CMS。如果您使用的是Debian系统,请手动安装,而不要使用apt-get!Debian使用非标准位置,这使得管理起来很麻烦。
Spencer Rathbun 2012年

2

您能做的最好的事情就是记录您所知道的一切,并要求公司内部记录他人也知道的任何事情。我建议将文档集中在Wiki或类似内容中,以便每个人都可以访问最新文档。

您无法记录一些您不知道的东西,因此您要么尝试学习并发现做某件事的原因,要么就将其记录下来。这就是为什么公司需要更加小心地记录事物,而那些知道的人仍然在这里工作。

如果您试图记录您不理解的任何代码,建议您编写单元测试来测试功能。这样,您将更好地了解代码的作用,并且测试本身可以用作文档。

祝好运!


不幸的是,这不是传统的编程设置...主要是通过一些奇怪的专有语言文件来报告和GUI更改,这些语言文件用于更改程序的行为。
Ben Brocka'2

2

当我尝试记录那些不再参与该项目或该公司的人所做的事情时,我总是开始采取以下态度:这对包括我在内的每个人都是一个黑匣子,直到我需要更改某些东西或向他人解释它。

该项目处于您发现的文档形状中的原因是,任何工作的文档在使它运行时都有些次要。因此,如果您除了自己之外没有其他好处,那么请记录下您所做的更改以及是否已弄清数据库中的特定字段以及代码的特定块是做什么的。


1

您可以编写自动化的探索性测试。这些具有以下优点:

  • 您将在编写系统时了解系统的工作方式

  • 它们用作可执行文件,以备后用

  • 如果您定期或连续运行它们,它们将提供一个不错的安全网,以检测何时更改会破坏某些内容或何时需要对其进行更新

我不知道在您的特定环境中编写这种测试是否可行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.