我在一个非常敌对的环境/公司(我是初级开发人员)中工作,当然,如果您进行一些编码,它就会上线,并且出现错误,您的工作就在网上。

在这家公司(以及我工作过的所有其他公司)中,我从来没有任何专用的测试工具可用。我们没有源代码控制,测试服务器,错误跟踪等,但是我们已经为客户完成了大规模的开发。

如何确保我的代码(无论多么小)都能在所有环境中正常工作?我已经没有任何机会去尝试建立冗余和备份计划。例如,如果出于某种原因我决定通过电子邮件记录错误,我知道这意味着我把所有的鸡蛋都放在了“互联网必须存在”的篮子里,而且很容易就不行了;如果是这样,就不会进行记录,并且如果有人说有错误,那么我就没有证据,而且“我反对他的话”对我来说不起作用,因为我还是大三学生。因此,必须记录所有内容,这当然会导致性能和存储损失。

我可以应用哪些技术来确保我的代码可以在不同的环境中工作?这不适用于浏览器兼容性,仅适用于Winform应用程序,并确保我可以在每台计算机上写入事件日志。

我正在做备份/冗余的想法(例如,如果我无法登录到邮件,登录到本地文件),以及记录所有内容,而不是硬编码系统值,该值因机器而异。

在家里,我有诸如单元测试工具,Exception Hunter之类的东西,可以帮助我。在工作中我没有。

我对C#技术(用于工作的语言以及通常是我的主要技能)和常规编程技术有所帮助。我在Google上找不到很多。

另外,如果我登录到电子邮件并使用catch方法,是否失败,如果我登录到文件,这是一种不好的技术吗? (所以我有一个计划,如果一种方法不起作用)。看来我应该做出性能/技术上的牺牲来掩护我的背部。

谢谢

最佳答案

这听起来像一场噩梦。我曾在没有源代码控制的地方工作,人们在运行中的系统上进行了即时更改,而且我必须明确证明我的代码不是问题。但是,如果有人搞砸了,我们的工作就不会继续进行。只要它不经常发生。

这可能是因为其中一名高级开发人员是最严重的违规者。他最喜欢的技巧是让Shell脚本调用Shell脚本,再调用Shell脚本,并将stdout和stderr显式重定向到/dev/null,有时深度为2和3层。

然后是时候,他应客户的要求“确认客户的备份”,以确保作业是从cron运行的,而不是实际从磁带读取数据。磁带当然很烂-他将stderr重定向到/dev/null。当客户在两个月后丢失硬盘驱动器和5年的历史数据时,我开始领导对它们的打印记录进行扫描和OCR处理,以重建类似于数据库的内容。他们提拔了另一个人。我不久后就辞职了。

这使我回到了您的情况。

  • 更新您的简历。
  • 在银行有一些存款;能够在两周后无家可归的情况下找到工作。
  • 开始静静地寻找其他工作。这种经济不会永远持续下去,而且您每个月的销售量都会越来越大。人生苦短,无法忍受敌对的工作场所。
  • 对CYA尽一切努力。
  • 开始将RCS用于您自己的东西。
  • 认真测试您的内容。保持测试;进行更改时重新测试。
  • 保留有关更改内容以及部署前测试方式的注释(通过电子邮件发送给自己,或编辑文本文件)。运气好的话,好的文档会胜过更高级的指责。
  • 在公司内部寻找导师。

  • 祝你好运。正如另一位评论者所说:我们都去过那里。

    10-05 21:50