十步教你如何接手别人的代码!(2)

2023-05-02 来源:飞速影视
几个月后,你看自己的代码时也会有同样的感受。
人们在重重约束下,尽其所能编写了这些代码。想必这些代码完成了一些功能,而且现在你接手了这些代码。有一天,有人会在不了解上下文的情况下看到你写的代码,他们可能也会觉得你的代码很糟。
所以,你不应该这样想。你应该用初学者的心态,想法改进这些代码,就像我们在第1条中提到的那样,缺乏知识就是你的优势。你不像其他的团队成员,他们在这个应用程序上工作了数月或数年,所以你没有他们那样的偏见,也没有盲点。对你来说,一切都很新鲜。但是你也没有足够的背景知识下结论,所以不要总觉得自己能够写出更好的代码!
黄金通道
找到应用程序中关键的一个功能。只需一个。这可以是关键的索引视图或API端点。也可以是一个能完成很多功能的函数。然后,你需要找到一个测试,测试通往端点的黄金通道(在这个过程中,请暂时忽略其他干扰因素,比如辅助函数、错误处理、语法糖等)。如果没有这样的测试,你可以自己写一个(请参照第4条)。
接下来,运行这个测试,并反向追踪。找到输出,通过阅读代码和调试技术找到输入。然后将这些输入作为输出,再找下一个输入,以此类推。提醒自己这只是一道非常复杂的逻辑难题。这中间没有任何神秘的事情发生。一切都按部就班。任何输出都不会凭空产生(请忽略库、元编程、以及大量的依赖关系……这些只会让手头的代码更为复杂,但它们也只是更多的代码而已……)
写测试
在了解现有代码库时,不引入任何错误,同时还能帮助你学习的一个好办法就是测试文档记载的现有功能。测试覆盖范围因具体情况而异。对于大多数开发团队来说,单元测试是理想的选择,但随着你深入了解更高层的抽象,覆盖范围会变得更加模糊。你可以通过编写良好的集成规范来简单记录已经完成的工作。在搞清楚你测试的这些行为背后的驱动因素后,就可以了解到大量的代码。你可以帮助自己和其他人今后更容易地重构代码,而且你不会破坏任何代码,除了可能会改动部分测试代码之外!
大量阅读
大量阅读。不仅仅是代码——你迟早都要熟知代码。阅读Slack过往的聊天记录。阅读提交消息。阅读PR中的注释。阅读数据库结构。阅读事故报告。阅读文档以及文档的修改记录。不要认为这些工作没有意义。你应该像一块海绵,吸收所有的背景知识,即便目前你一头雾水,也无需担心。你还没有正式开始工作,所以只需不断收集零落在各个角落的故事,坚持一周或一个月你就会有所眉目。用直觉去感受大量的上下文,稍后就会有所帮助。
相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号