
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
对于程序员来说,代码的审查与优化是一个需要长期执行的工作任务,而今天我们就通过案例分析来了解一下具体的代码优化操作方法都有哪些。
在删除垃圾代码时要充满信心
删除垃圾或者过时的代码总是让我感觉很不舒服。我总觉得以往的工作成果有种神圣不可侵犯的意义。我那时候认为,“在他们写与这些代码时,肯定是有所考量的。”这是一种传统的理解方式,而且与一性原则有所冲突。出于类似的理由,我在每年进行代码审查与清理时也是困难重重。这样的糟糕习惯,让我吃了不少苦头。
我曾经尝试调整代码问题,也有些老成员习惯于绕过这些代码。但删除,删除听起来更严重正经。一个永远用不上的if语句、一个永远用不上的函数,会在我的一声令下彻底消失,这样不好。因此,我更多是把自己的函数覆盖在上面。但这并没有减少技术债务,只是增加了代码的复杂性与误导性。如此一来,后继者将更难把这些片段以有意义的方式拼凑起来。
我现在采取的方式是:总会存在我们无法理解的代码,也总会存在我们永远不会使用的代码。删除这些永远不会使用的代码,但对无法理解的代码保持谨慎的态度。
代码审查
代码审查是学习中的重要组成部分。审查的过程,就是从编写代码、到了解如何更好地编写代码的反馈循环。我们自己的编码思路,跟其他人的编码思路有何不同?我在每一次代码审查时都会问自己:“他们为什么要这样做?”如果实在找不到合理的答案,我就会跟他们当面聊聊。
出现问题时
一旦出了问题——而且早晚肯定会出问题——我们的黄金法则就是尽可能降低对客户造成的影响。
在出现问题时,我的一反应就是解决问题。但事实证明,这并不是高效的应对思路。
相反,即使只是小小的问题,高效的办法其实是选择回滚。返回之前能够正常工作的状态,这样才能缩短客户无法正常使用服务的时间窗口。
也只有这样,我们才能安心查找错误并动手加以修复。
正如集群中的“故障”机器一样,在尝试判断机器出了什么问题之前,我们先应该将其下线并标记为不可用。
我发现这确实是种反直觉的办法,而且我的本能总会把自己带离佳解决途径。
我觉得正是这样的本能,逼迫我走上解决bug的漫长道路。有时候,引发问题的根源就是我编写的代码出了问题,而我会深入研究自己写下的一行代码。这有点像深度优先搜索的过程。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。