麻烦的是,你的直觉反应可能是对的,但这并不意味着你的经理一定是错的——他可能有很好的理由希望这一切都用java完成。同样重要的是,如果你掉进了一辆公共汽车,找到一个懂java,perl和bash的替代者将比找到一个懂java的人要困难得多。这就撇开了“它们只能在安装了cygwin的PC上运行”的问题。而且很有可能,性能并不像您想象的那么大。
话虽如此,你最好的选择是花一点时间估计将它们全部移植到java所需的时间,这样他就可以做出明智的决定。当你使用它时,估计将bash脚本移植到perl并记录它们需要多长时间。然后让他决定。记住 - 他不会像你一样把大部分时间花在编码上,所以他可以做出一些决定是公平的。
如果他决定继续使用java选项,尽可能地移植其中一个脚本,然后报告两个版本,如果你对perl / bash脚本的简洁性是正确的,你应该能够从并排检查两个版本中获得一些里程。
编辑:MCS,说实话,在我看来,这些脚本似乎在perl和/或bash中实现得更好,而不是java,但这不是重点 - 重点是你如何向你的经理证明这一点。如果你解决了这个问题,你既要解决“直觉反应”问题(顺便说一句,这里有一个提示 - 开始将你的直觉反应称为“基于经验的判断”)和“陈述我的情况的最佳方式”问题。
现在,你必须意识到的第一件事是,你的经理(可能)不会走上这条路只是为了惹恼你。几乎可以肯定的是,他对这些剧本有真正的担忧。鉴于它们可能是真正的担忧(如果不是这样,那么进一步就没有意义了 - 如果他出于某种政治原因决定做这件事,那么无论如何你都不会改变他的想法,所以只要继续下去并将其添加到你的简历中),因此,如果你要去任何地方,你需要向他提供信息,以解决他的担忧。如果你能做到这一点,那么你就已经走了一半多的路。
那么,他的担忧是什么呢?基于您的帖子,以及我的判断和经验:-)我会说他们是:
我也猜想他的担忧不是:
当然,我对最后一个问题的看法可能是错的。在我工作的最后一个地方,我们有一个与复制有关的 SQL Server 性能问题,它影响了业务部门提供客户支持的能力,因此性能是一个问题,因此我们解决了这个问题。但一般来说,性能并不像程序员想象的那么大。如果他真的告诉你性能是一个问题,那就把它考虑在内。但是,如果他没有提到它,那就算了吧 - 可能只有你认为这些脚本在perl / bash中的运行速度比它们在Java中可能运行得更快这一事实至关重要。
所以,可维护性。这归结为回答“如果MCS落在公共汽车下,谁将维护这些脚本?”和补充问题“这会导致我(即你的经理)的问题吗?(题外话:不要挂在整辆公共汽车上。“摔倒在公共汽车下”是各种风险的有用和外交简写,例如“如果有人用我的公司无法比拟的薪水引诱他离开会发生什么?”,“如果他决定移民到百慕大会发生什么?”,“如果我想解雇他会发生什么?”,“如果我想提拔他会发生什么?”,以及, 当然,“如果他有一天因为一些未知的,可能与公共汽车有关的原因而停止上班,会发生什么?
请记住,您的经理的工作是考虑和减轻这些风险。
那么,该怎么做呢?
首先,演示这些脚本的实际可维护性。或者至少它们可以多么可维护。记录它们(在适当的文档中,而不是在代码中)。培训同事来维护他们(选择想要获得/提高他们的perl和bash技能的人,以及你的经理信任的人)。重构它们以使其更具可读性(如有必要,牺牲性能和巧妙的脚本技巧)。如果你想继续使用bash,创建一个文档,提供安装cygwin和bash的分步说明。无论如何,记录安装perl和运行脚本的过程。
其次,选择其中一个脚本并将其移植到java。随意选择最能证明perl/bash优于java的脚本,但要尽你所能地移植它。使用java.util.regex来做你在perl中所做的同样聪明的事情。将其记录为记录其他内部java实用程序的标准。如果性能实际上是一个因素,请相对于perl/bash脚本测量其性能。
第三,在经历了这个练习之后,对自己诚实地谈论它们的相对可维护性。问问你训练过的人他的想法。如果你仍然认为perl/bash脚本或多或少与java版本一样可维护,请尽可能准确地估计将其余脚本移植到java所涉及的工作(你现在将能够非常准确地做到这一点,因为你实际上已经移植了一个)。然后把比较脚本、文档和估算(以及绩效数据,如果合适)拿给你的经理,和他一起看。提出你的反建议(a.将它们保留在perl和bash中,但记录它们并培训同事,b.将bash脚本移植到perl,记录它们并培训同事)。
最后,让你的经理权衡所有的信息并做出决定,并遵守他的决定。事實上,不要只是遵守他的決定,接受他可能正確的事實。仅仅因为你比他更了解perl/bash/java,并不意味着你一定比他更了解管理团队/部门。如果他的决定是坚持perl /bash,或者移植到perl,那就高兴了!因为你不仅有自己的方式,而且你已经在经理的估计中上升了,并在此过程中学到了宝贵的一课。