如果你的代码是一家酒店,你会愿意预订入住吗?

1,603 阅读5分钟

想象一下,你正在一家酒店中度过你的夜晚。这个比喻可能有些奇特,但它引发了我对代码的一种新的思考方式。如果你的代码是一家酒店,那么有些地方可能会让你感觉温馨如家,而有些地方可能会让你觉得就像是路边破旧的汽车旅馆,你甚至不敢去触摸那里的任何东西。

每个地方都有其独特的“正确方式”

我曾经住过一些相当不错的地方,虽然有些地方可能本可以做得更好,但考虑到我的预算,它们已经足够完美了。房间的布局可能不是我最喜欢的,但我明白的一点是,无论你怎么改变,它都不会变成“你的家”。 这个比喻同样适用于编程。在工作中,你就像是在酒店中度过的那个人。无论你做什么,无论你想要什么,这个地方都不会变成你的。 当然,你可以购买一个房间,然后按照你想要的方式去使用它(虽然有一些限制)。这同样适用于编程。你可能能够引导项目朝你想要的方向发展。或者你可能在“你的”代码库中工作,那个地方是“你的”,但无论你做什么……你仍然会在酒店里,有些事情你无法改变,即使付出巨大的努力、时间和成本。 我强调“不是你的”这一点,因为如果这意味着你在可以改变的事情上受到限制,那么这也意味着你最终可以选择离开。 我也曾经住过一些“不太理想”的地方。对于我当时的预算来说,我能负担得起的就是这样的地方。这并不是说它位于一个糟糕的地方,或者它已经破败不堪……远非如此,问题在于它缺乏维护。几十年前,它可能是一家四星或五星级的酒店,但现在这个地方只能说是悲哀。 让人感觉不好的是一些简单的事情:在走廊和一些地方可以看到尘土的层层堆积,还有一些“旧的”和/或损坏的东西被公开使用。 有一棵布满灰尘的塑料植物,甚至可能有一些垃圾就随意放在那里,迎接乘电梯的人。如果它不在那里,那个地方会好很多。 大堂里随处可见的损坏的机器也是如此。一个极简的地方可能不会受到每个人的喜欢,但是到处都是破旧和积满灰尘的东西肯定会让每个人都感到厌恶。 每层楼都有一套旧的扶手椅和桌子。问题不在于它“旧”,问题在于它“感觉”恶心。我知道我不想去碰那个。 房间并没有那么糟糕,但因为它的“外面”很糟糕,我不得不做一些额外的清洁工作,以便在那里感觉更舒适一些。 (我想我不需要为仍在阅读这篇文章的优秀读者解释,但我仍然在谈论代码。) 只需稍微清理一下,扔掉一些东西,稍微整理一下……从一个“糟糕”的地方,它就会变得和那个更好的地方一样好,甚至可能更好。 尽管它会让人感觉很好,但它不会和另一个地方一样。布局、颜色、位置和视野都不同……但只因为它不同,并不意味着“糟糕”。 每个地方都不同,有不同的做事方式。换句话说……这取决于情况。

那你的代码呢?

有些项目会让人感觉像一个玩具房子,如果你做得不够好,屋顶砸在你头上,你可能只会笑笑。 有些会像一个树屋,你亲爱的人可能会使用它,你不希望它倒下,但如果它边缘粗糙,满是洞,你可能不会住在那里,但作为一个娱乐的地方?那将是惊人的! 还有些会让人感觉像是有双层床的旅馆。可能没有太多的隐私,很多人在使用它,但它可以很有趣,所有在那里的人都会带来一些不同的东西,使得体验变得很好。 最后,你在工作中的代码就像你在酒店里。除非你作为顾问或者自由职业者来,否则你可能需要在那里待上几周、几个月,甚至几年。如果你觉得触摸任何东西都感到厌恶,你会感到舒服吗?如果你甚至躺在床上都感到恶心,害怕床虱,你会感到舒服吗?

不要袖手旁观

如果你打算长期待在那里(即使不是那么长),那么首先要做的就是尝试带来一点“家”的感觉。只因为其他人似乎不关心代码,并不意味着你也不应该关心。 开始测试你做的事情(如果甚至没有设置这样的环境,你可能需要创建它),然后当有人说有问题时,你可以放心,因为你知道问题可能不在你做的事情上。 如果你正在使用原生JS,你可以开始用JSDoc来编写代码。如果是其他人可能会使用的代码,他们会立即注意到他们正在做的事情的自动完成。 文档(和注释)也是如此。你知道的或者你学到的,都记下来。 需要使用一些东西,花了几分钟才知道是什么和怎么用?开始记录,注释,更新wiki…… 有些库真的过时了,或者你可以找出一种使用新库来改善指标的方法?做一个POC(概念验证),写下动机,可能从改变中获得的收益,以及迁移计划(可以从添加新的开始,用它做新的事情,只有在需要的时候才真正迁移)。 并非所有的事情都是可能的,这可能意味着有些人不会喜欢它,因为他们对现状“满意”(有时候有些人可能不在乎),但是有办法让你每天工作几个小时的地方变得更舒适,更“家一样”。