MST

星途 面试题库

面试题:Kotlin 中如何优化重复代码块

假设你有一段 Kotlin 代码,在多个函数中都存在相似的代码块,用于数据的预处理,例如去除字符串首尾空格、转换为小写等操作。请描述你会如何通过重构来避免代码重复,并给出示例代码。
34.7万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试

重构思路

  1. 抽取通用函数:将重复的数据预处理代码块抽取到一个独立的函数中,这样多个函数可以调用这个通用函数,从而避免代码重复。

示例代码

// 抽取通用的数据预处理函数
fun preprocessData(str: String): String {
    // 去除字符串首尾空格并转换为小写
    return str.trim().toLowerCase()
}

// 第一个使用预处理的函数
fun function1(data: String) {
    val preprocessedData = preprocessData(data)
    // 其他业务逻辑
    println("Function1 processed data: $preprocessedData")
}

// 第二个使用预处理的函数
fun function2(data: String) {
    val preprocessedData = preprocessData(data)
    // 其他业务逻辑
    println("Function2 processed data: $preprocessedData")
}

测试代码

fun main() {
    val originalData = "  HELLO WORLD  "
    function1(originalData)
    function2(originalData)
}

在上述代码中,preprocessData 函数负责数据的预处理操作,function1function2 函数通过调用 preprocessData 函数来实现数据预处理,避免了重复代码。