TypeScript:
重构

如何进行:

考虑一个TypeScript函数,它的最佳状态已经一去不复返了——它有些乱,需要一些关爱:

function userInfo(data: any): string {
    return "User Info: " + data.name + ", " + data.age + ", " + data.email + ";" ;
}

重构后,可能看起来像这样:

interface User {
    name: string;
    age: number;
    email: string;
}

function formatUserInfo(user: User): string {
    return `User Info: ${user.name}, ${user.age}, ${user.email};`;
}

第二个例子利用了TypeScript的类型系统,并通过一个接口来避免潜在的运行时错误并提高可读性,从而更为健壮。

深入探讨

重构并不是一个现代概念;它随着编程的发展而演变,随着马丁·福勒的《重构:改善既有代码的设计》一书在1999年的发布而变得更加正式化。在敏捷开发环境中,重构至关重要,它促进了代码的适应性变更。一些替代手动重构的选择包括自动化工具,如TSLint 或 TypeScript自己的语言服务器,这些工具可以为您建议甚至执行某些重构任务。实施细节通常涉及识别“代码异味”,如重复代码、长方法或大型类,并应用模式来解决——如提取方法、移动到更合适的类,或使用更简单的结构。这些模式是理解重构的如何和为什么的关键。

另见