Refactoring Legacy Code like a Pro: a Use Case.

所在平台: Udemy

课程主页: https://www.udemy.com/course/refactoring-legacy-code-like-a-pro-a-use-case/

课程评论:没有评论

第一个写评论        关注课程

课程简介

Coursera 上的“像专家一样重构遗留代码:一个用例”课程,教你如何将混乱的代码库转化为软件杰作。该课程将帮助你掌握重构的艺术,成为代码库转换的专家。 **什么是遗留代码?** 遗留代码是指过去创建并已长时间使用的软件代码或应用程序。这类代码常常难以维护、更新或扩展,因为它可能过时、文档不足或不符合当前编码标准和最佳实践。根据 Michael Feathers 的说法,没有自动化测试的代码就是遗留代码。 **课程内容:** 本课程将探索处理遗留代码库的实用方法,涵盖从自动化测试到使代码库更灵活、更易于使用的详细技术。 **学习目标:** * 识别重构的信号。 * 为遗留代码编写自动化测试。 * 掌握重构原则和最佳实践。 * 掌握提高测试覆盖率的技术。 * 识别常见的代码坏味道和反模式。 * 自信地处理复杂的遗留代码库。 **学习建议:** 如果你是代码重构新手,建议先阅读相关的书籍,如《重构》或《与遗留代码有效工作》,这些书籍成本较低,有助于打下坚实的基础。一旦准备好将知识付诸实践,本课程将指导你进行实际应用和高级技术。 **课程用例:** 本课程将重构一个计算祈祷时间的现有代码库。我们将解决过时技术、代码组织不当以及提高代码可读性等挑战。重构过程将分解为可管理的步骤,包括: * 代码分析。 * 测试设置。 * 模块化。 * 提取有意义的抽象。 * 减少混乱。 * 强调最佳实践。 这个用例代码足够复杂,可以展示你在真实项目重构中可能遇到的困难。 **语言无关性:** 本课程是语言无关的,这意味着你学到的原则和技术适用于各种编程语言的代码库。虽然课程中的用例使用 Kotlin,但你可以在域名问题网站上找到 Java、Python、C#、C++ 和 PHP 等版本。你获得的技能和见解可以轻松地转移到任何其他语言。 总之,本课程将帮助你自信而熟练地应对遗留代码重构的挑战。

课程评论(0条)

课程详情

Master The Art of Refactoring Messy Codebases Into a Software Masterpiece and Become the go-to expert for codebase transformations by learning to take messy code as an opportunity to innovate and grow.But what is legacy code in the first place? Legacy code refers to software code or applications that were created in the past and have been in use for a significant period. However, such code often poses challenges because it may be outdated, poorly documented, or not aligned with current coding standards and best practices. These challenges can make it difficult to maintain, update, or extend the software, thereby causing potential problems for developers to refactor to make it easy for future work.In his Amazing book Working Effectively With Legacy Code, According to Michael Feathers, Legacy Code refers to any code that lacks automated tests: To me, legacy code is simply code without tests.In this course, we will explore practical ways of dealing with legacy codebases. Our approach covers everything from automated tests to detailed techniques for making codebases flexible and enjoyable to work with.By the end of the course...You'll spot refactoring signals.You'll be able to cover legacy code with tests.You'll master refactoring principles and best practices.You'll master techniques to improve the test coverage.You'll identify common code smells and anti-patterns.You'll confidently tackle complex legacy codebases.Before You BUY This CourseIf you're new to the world of code refactoring and looking for an affordable starting point, we recommend diving into specific books on the subject. Books (less than 60$) such as Refactoring or Working Effectively with Legacy Code provide a cost-effective way to build a strong foundation in refactoring principles, allowing you to learn at your own pace.Once you're ready to put your knowledge into action on real legacy code, our comprehensive course guides you through practical application and advanced techniques, ensuring you're fully equipped to tackle complex code bases confidently.What's the Use case? In this course, we will refactor a codebase that calculates prayer times provided by Prayer Times Organization. We will address the challenges posed by outdated technologies, inadequate code organization, and the need to improve code readability.With clear objectives in mind, we'll break down the refactoring process into manageable steps, including:Code analysis.Test setup.Modularization.Extracting meaningful abstraction.Reducing the clutter.Emphasizing best practices.And much more.The use case presents a good enough complex code to showcase the difficulties you can face when refactoring a real project. By the end of the course, you'll be well-prepared to take on real-world refactoring projects with confidence and expertise.You can check the preview up in a video for a full explanation of the domain problem, so if that excites you, join now, and let us refactor a messy codebase.Language AgnosticThis course is designed to be language-agnostic, meaning you can acquire essential principles and techniques that apply universally across various codebases in different programming languages.While our use cases in the course choose Kotlin, you can still find on the domain problem website other versions that apply to Java, Python, C#, C++, and PHP; the skills and insights you gain are easily transferable to any other language.We emphasize Kotlin to provide a practical learning experience, but the knowledge you acquire will empower you to excel in legacy code refactoring, regardless of your chosen programming language.

课程标签

0人关注该课程

主题相关的课程