我正在做的一个项目已经完成,所以我已经被我的雇主转移到了一些新的任务上.以前的工作非常敏捷,团队小,程序进展等.
无论如何,我正在进行的新项目 – 我发现自己对如何处理管理感到困惑.他们对面向对象的编程,当前技术或方法没有真正的理解.他们似乎害怕改变,最近我们搬到了最新的JRE
我们做了这些代码审查,我不得不听“灰胡子”,说它在ADA中有多好,或者他们过去常常用C做什么.但是当他们尝试编写审查时 – 他们甚至缺乏最基本的理解OOP设计和开发他们更关注代码的风格;间距;方法名称;等等
其中一位高级人员说我们应该编写自己的记录器而不是使用log4j,因为在很久以前的学术PDF中对log4j进行了一次负面评论.
我该如何处理?我怎么能向他们解释他们的设计是错误的,或者他们真的落后于时代,而不是作为一个混蛋.我在这个组织工作了大约一年 – 所以我不知道我会有多少信誉.
解决方法
关于代码审查,我想说让他们开心.以他们喜欢的方式命名和空间.当然,把时间集中在更好的设计上,享受ADA的回忆,它仍然可以为你提供一些今天的事物以及它们如何到达那里的背景.
换句话说,不要太认真地对待那部分.担心完成工作的重要性.在这种情况下,工作就是让那些重要的人觉得你对这个项目做出了积极的贡献.
关于Log4j,我只是建议一个不同的框架.内置的JDK日志记录(不能抱怨,它是一个内置的API)或类似SLF的东西,它可以让你插入任何你想要的东西(包括你自己的,我猜,然后你可以丢弃和替换当他们意识到这是一个错误时,他们只需更改类路径.
现在有时候它很重要.在这种情况下,尽可能让它听起来是他们的想法.例如,在日志记录中,声明有许多日志框架代表了许多代码行,并且您想知道是否有其他方法可以利用该项目的工作,然后让他们“弄清楚”解决方案.
有时候你必须推出一些你的想法 – 没有别的办法.在那种情况下坚持证据,尽可能通过与那些有良好信誉影响力的人建立关系,并且意识到每次战斗你都会战斗,即使你获胜也会失去位置(或许特别是如果你赢了) .