TypeScript 中的代码审查:检查什么以及如何提供反馈

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

引言:为什么 TypeScript 中需要代码审查



代码审查(Code review)是其他开发人员检查已编写代码的过程。对于初学 TypeScript 的开发人员来说,这不仅仅是形式,更是一个强大的学习工具。正确的审查有助于在早期阶段发现错误、改进架构并在团队中保持统一的风格。



在本文中,我们将详细分析在 TypeScript 代码审查中具体要注意什么,如何提供有用的反馈,并给出代码示例。本文面向刚开始使用 TypeScript 并希望提升审查技能的新手。



1. 类型化:TypeScript 的基础



在 TypeScript 中首先要检查的是类型的正确性。TypeScript 添加了静态类型化,这减少了错误的数量,但前提是类型使用正确。



检查什么:

  • 参数和返回值的显式类型。尽可能避免使用 any。
  • 使用接口和类型 代替基本类型来处理复杂结构。
  • 正确使用联合类型和交叉类型。
  • 没有多余的类型断言。


// 不好:隐式类型和 anyfunction processData(data: any) {  return data.name;}

// 好:显式接口interface User { name: string; age: number;}

function processData(data: User): string { return data.name;}


在审查时,注意那些可以将 any 类型替换为更具体类型的地方。这能立即提高代码的可读性和安全性。



2. 检查 null 和 undefined



TypeScript 通过严格的 null 检查帮助避免 null 和 undefined 错误。但开发人员经常忘记处理可选值。



检查什么:

  • 对可选属性和参数使用 ?。
  • 在访问属性之前检查 null。
  • 使用 ?? 和 ?. 运算符。


// 不好:没有针对 undefined 的保护function getLength(str: string | undefined): number {  return str.length; // 错误:str 可能是 undefined}

// 好:使用可选链和空值合并function getLength(str: string | undefined): number { return str?.length ?? 0;}


在代码审查中,检查所有可能为空的值是否都已处理。这是生产环境中错误的常见原因。



3. 代码整洁性和可读性



TypeScript 是 JavaScript 的超集,因此整洁代码的原则仍然适用。良好的代码审查包括检查风格和结构。



检查什么:

  • 变量和函数的命名。名称应该有意义。
  • 函数的长度。如果函数做了不止一件事——请拆分。
  • 注释。它们应该解释“为什么”,而不是“是什么”。
  • 没有魔法数字。将常量提取到单独的变量中。


// 不好:魔法数字和含义不清的名称function calc(a: number) {  return a * 1.2;}

// 好:常量和清晰的名称const TAX_RATE = 0.2;

function calculateTotalWithTax(amount: number): number { return amount * (1 + TAX_RATE);}


在审查时,问自己一个问题:“新开发人员能在没有解释的情况下理解这段代码吗?”如果不能——请要求改进。



4. 如何提供反馈:温和且具有建设性



代码审查不是考试,而是对话。对于初学者来说,获得不针对个人的反馈尤其重要。以下是一些有助于提供有用评论的规则。

博客

书籍推荐