评判能力 - 吞下一个夏天吗?

时间:2009-05-19 15:35:45

标签: language-agnostic

在今天早上处理一些通常可怕的Javascript代码时,我遇到了以下(在多个地方):

// make moveAmount negative
moveAmount = moveAmount - (moveAmount * 2);

我直接坐在写这个的人的对面;他已经在这里工作了七年。另一方面,我刚刚开始,我很年轻,并不声称知道杰克。

然而,经过这么多年开发软件,它让我想知道这个人的简单逻辑扭曲。

我的问题是,其他人在这里可能会看到写这篇文章(3周前)的整体竞争对手的观点,还是甚至反映出来?

有人会指出卷积吗?

我,我自己,一直担心我会做出这样的判断。

9 个答案:

答案 0 :(得分:30)

简单的解决方案:向他展示代码行并询问他为什么这样做。这是一个让你们两个都学到东西的机会。也许在浏览器中存在错误或其他一些问题(考虑到舍入)因此代码可能会在没有这个问题的情况下中断。或者他犯了一个错误。无论哪种方式,询问都会清除它。

虽然你是对的,其他人会从他们看到的代码中判断你,这不是他们考虑的唯一的事情(如果是的话,那么你就是在错误的地方工作 - 在你仍然健全的时候离开)。当你有礼貌,好奇,乐于助人时,他们也会看到。

这些东西比你写的代码更重要:代码可以比愤怒的同事更容易修复。

答案 1 :(得分:4)

你的例子可能是糟糕的代码,但我看到的情况更糟(毕竟,在某些情况下它会起作用;有些代码甚至不能这么说)。我认为你真正要问的问题是:是否有任何代码如此可怕,以至于这意味着开发人员可能被视为无能为力?

我说不。我有两个孩子像婴儿一样可怕的睡眠者。我来治疗流感了。我一直在死亡行军模式中工作,我已经连续工作了20个小时。在这种情况下,任何人都可以编写一系列可怕的代码。 (这就是为什么应该避免这种情况的原因。)

当然,我希望稍后会发现可怕的代码并修复它。

答案 2 :(得分:3)

嗯它有效,所以如果你告诉他你不喜欢那些代码而且可能是正确的那样你就会看起来像ap ****然后他可能在7年前做了那些代码,因为他写的第一个JavaScript ,但严重的是从不从一行代码中判断某人。

答案 3 :(得分:2)

关于对判断的恐惧,请放松心情。这是真的,我们都会在某个时候受到某人的评判,无论是一些尖头发的老板还是男性善意的新贵。我认为,最重要的是如何在每次这样的遭遇中获得有用的东西。

显然,人们会为了这件事而关注事物,但你也会发现很多类似的情况需要学习。

上述建议与您的同事开始对话非常好;它可能会直接影响到这样的遭遇,你或者两者中的任何一个都可以从中学到重要的东西。

答案 4 :(得分:1)

很容易找到一个例子并概括一下开发者,但除非他有这种废话的记录,否则我认为这是一个孤立的事件。只要问他为什么不写:

moveAmount = moveAmount * (-1)

答案 5 :(得分:1)

这种行为不同于 如果moveAmount足够大(例如2 ^ 32-1),2 * moveAmount可能导致溢出的情况下mountAmount = -moveAmount。

我不知道这是不是他的意图。

答案 6 :(得分:1)

如果他在第一次开始时写下这个,他会得到一个通行证。如果他最近写了这篇文章,他会对我大加赞赏。开发人员的整体能力肯定是可疑的。

其他人说你不能用一行代码判断开发人员,但我说它肯定会对他的能力产生怀疑。我不是建议你跳到结论,但这种类型的代码肯定是一个平庸的开发人员的证据。

......至于它与过度劳累或压力或其他相关......底线是代码质量很重要。如果他像这样写了一个单行,那么还有什么可以写出来并不那么容易引人注目的呢?

答案 7 :(得分:1)

自从他3周前写这篇文章以来,我会说他应该对这条线路持批评态度。它表明在经过7年的专业工作后,这种不成熟是不可原谅的。

如果他至少会这样做:

moveAmount -= moveAmount * 2;

他本来就不那么好了。它至少表明他了解其他运营商并正在努力使事情更具可读性。

我认为你不能总是用一行判断人,但是代码可以告诉你一个人的能力,一行可以说明一个人。

答案 8 :(得分:1)

我说这将取决于燕子。如果被隔离,那么你所展示的代码行是我对精疲力竭的程序员的期望,即使是非常称职的代码。这是一个不太聪明和疲惫的事情的例子,人们不那么聪明的事情。另一方面,如果经常出现那种代码,那么可能你是在和一个心思扭曲的人一起工作。

那些明显表明程序员不好的事情与不良行为有关。优秀的程序员不会做出巨大的方法。即使很累,他们也会尽量保持他们的类型松散耦合。它们将避免暴露公共字段,而不是通过访问器或属性公开它们。他们将尝试继承和聚合作为代码重用的形式,而不是反复进行复制粘贴...列表很长。那些燕子让我几乎立刻觉得它是夏天。 : - )