您必须在不碰一篇文章告诉您如何提高软件开发技能的情况下,才能在Internet上摇摇欲坠。 大量文章告诉您如何成为"更好的沟通者","团队合作者"和"不断学习"。
Photo by JESHOOTS.COM on Unsplash
但是您知道您从未读过的内容吗? 如何变得蹩脚。 没错-这篇文章,告诉您二十一种成为糟糕的软件开发人员的方法。
为什么要浪费时间? 让我们开始吧。
格式化代码只会使其更具可读性。 笨拙的编码人员知道,未格式化的代码难以阅读且难以维护。 相信我,如果您不断使用格式迥异的代码检入代码,它将使您的开发人员发疯。 而且无论您做什么,都不要使用任何缩进。
有意义的变量名只会使代码更易于理解。 如果您想变得蹩脚,请为变量名使用单个字母。 如果您用完了这些,请使用诸如MsgNand FuncMan之类的简短而毫无意义的缩写。 我最喜欢的时间之一是DoStuff方法名称。
没有什么比拒绝编写单元测试更能说明"我编写糟糕的代码"了。 它的美丽之处在于,随着时间的推移,您的代码会变得越来越糟糕,因为缺乏测试会使更多的错误逐渐被发现。
将您的代码紧密耦合在一起会带来各种奇妙的失败。 首先,它使您的代码真的很难更改和更新。 其次,它使测试和调试变得非常有趣,因为在应用程序的一部分中进行更改,会导致范围广泛且分布广泛的错误出现在陌生的地方。 还有什么比这更糟糕的呢?
这是我的最爱之一。 确保您具有执行各种不同操作的方法。 深度嵌入许多if语句可赚取积分。 几乎没有什么比"多次单击Page Down"按钮来查看"整个方法"更能喊出"这真是糟糕的代码了"。
完全忽略代码中的"单一责任原则"会给您带来很多麻烦。 当您可以更轻松地将方法添加到现有类中时,为什么将功能隔离到离散类中? 让类承担多重责任可能会导致恶作剧
硬编码所有内容。 尽可能利用实现。 忽略强大的语言功能,例如抽象类和接口。 这些事情只会使您的代码更易于维护,而CrAppy Coder并不需要这样做,出于善意。
Crappy Coders认为,软件开发的所有进步都在他们开始第一份工作的那天就结束了。 尝试改进您已经知道的内容只会导致您编写良好的代码并使用新的和改进的技术。 脚的编码员拒绝这样做。
如果"在我的机器上工作"不够好,没人会说。 确保在提交报告时,该报告对问题的描述不正确,并且没有任何步骤可重现该问题。 我个人最喜欢的是"此功能已完全损坏"。 这将为需要修复该错误的开发人员确保真正糟糕的维护体验。 如果开发人员离您三个月之久,您将获得更多的荣誉!
您看,如果记事本不足以满足您的编码需求,那么Microsoft永远不会发货。 为什么要花时间学习使用Intellisense,键盘快捷键或任何其他"生产力黑客"? 它们只是倾向于减少代码的笨拙性并加快开发过程。
好的,所以也许您可能实际上有一天需要修复一个错误。 我知道–谁想要这样做? 但是,无论您做什么,都不要使用调试器。 相反,只需使用对控制台窗口的调用或快速弹出对话框的ShowMessage调用即可。 对于熟练的Crappy Coder来说,这已经足够了。
这总是很有趣。 确保在setter方法中删除了某些内容。 当您用getter获得价值时,请进行更改。 相信我,这很有趣。
Crappy Code的标志是在更改和更新内容方面存在困难。 不断地在代码中重复自己是确保更新困难的可靠方法。 使用大量的魔术数字。 为什么要在一个地方声明常量,而在34个地方可以使用文字呢?
经验-哼! 谁需要它? 那些老混混到底知道什么? 仅仅因为他们看到了一切,并且犯了菜鸟们犯下的所有错误,并不意味着您也不要犯错。 毕竟,如果您一开始会做得很烂,该如何获得经验?
另一种经典的方法-让类实例的范围完全迷失在方法参数的迷宫中。 只要有可能,就可以重用一个对象-为什么当现有实例可以通过七个方法调用链在应用程序中途传递时,浪费所有这些新调用? 无法追踪的内存泄漏是糟糕的编码的标志。
这可能是这里最有价值的提示。永远不要百分百确定变量的状态是编写糟糕代码的必胜之道。我的意思是,如果您不知道如何设置变量值的位置,以及设置的位置和值,那么肯定不会期望您修复涉及未知状态的错误。
我一直很喜欢这个。 在区分大小写的语言中特别有效。 当您巧妙地更改JAVAScript中变量名的大小写时,编写很难发现的bug变得轻而易举。 更好吗? 互换使用l和1。
确保使用大量没有价值的注释来使代码混乱,尤其是那些解释代码实际执行位置的操作的注释。 例如,在调用OrderList.Clear之前将//清除订单列表写入。 那真的可以废除您的代码。 当注释与它们最初关联的代码分开时,此技巧会变得更好。
没有什么能使大脑爆炸,就像带有许多非修饰符的布尔表达式一样。 认真的做很多事情,您的代码将很难阅读。
这是经典之作-确实使人们混淆了可以执行两种不同操作的功能:
然后,您可以使用非常模糊且完全蹩脚的方式来称呼它:
processOrder(False);
额外的信用为双重否定! 完全不可理解!
真正蹩脚的码农的标志是等待大约两周才能进行提交,在一个变更集中提交大量不同的变更,然后使用"提交大量变更和修正"作为提交消息。
相信我,仅凭此一项就可以使您成为一个真正的开发者。
所以,有 二十一种方法来编写代码,可确保您的代码糟糕透顶。
糟糕的编码,大家好!
(本文翻译自Nick Hodges的文章《Twenty-one ways to be a Crappy Software Developer》,参考:https://medium.com/nickonsoftware/twenty-one-ways-to-be-a-crappy-software-developer-c69e4b39c5df)