Android x Kotlin 實作課程:打造個人專屬計算機 APP EP7 程式碼優化重構程式碼

HKT實驗室
發佈於Android 入門指南 個房間
2024/02/06閱讀時間約 7 分鐘

打造個人專屬計算機 APP 系列文章目錄:
https://vocus.cc/article/65acea9ffd897800019c13dc

課程摘要

本課程學習如何透過函數重構程式碼,提高可讀性、可維護性和重用性。以按鈕操作為例,將不同邏輯提取成函數,例如 allClear()、equalSign() 等,使程式碼更簡潔易懂,提升開發效率。

教學影片

若您無法順利觀看教學影片,請先登入您的 YouTube 帳號,然後點擊以下連結加入我們的頻道會員:

  • 一般會員:成為一般會員後,您將能夠觀看我們所提供的一般會員專屬線上課程。
  • 精實會員:成為精實會員後,您將能夠觀看我們所提供的精實會員專屬線上課程。

範例程式碼

when

when (buttonText) {
"AC" -> allClear()
"=" -> equalSign()
"+/-" ->toggleSign()
"⌫" -> backspace()
"." -> dotSign(buttonText)
else -> {
handleNumberOrOperator(buttonText)
}
}

handleNumberOrOperator

private fun handleNumberOrOperator(buttonText: String) {
if (buttonText in listOf("+", "-", "*", "/")) {
if (!isFirstInput && !processText.endsWith(" ")) {
processText += " $buttonText "
processTextView.text = processText
isFirstInput = true
}
} else {
processText += buttonText
processTextView.text = processText
isFirstInput = false
}
}

dotSign

   private fun dotSign(buttonText: String) {
if (!processText.endsWith(".") &&
!processText.contains(" .") &&
!processText.endsWith(
" "
)
) {
processText += if (isFirstInput || processText.last()
.isWhitespace()
) "0" else ""
processText += buttonText
processTextView.text = processText
isFirstInput = false
}
}

backspace

 private fun backspace() {
if (processText.isNotEmpty()) {
processText = processText.dropLast(1)
processTextView.text = processText
}
}

toggleSign

 private fun toggleSign() {
if (processText.isNotEmpty() &&
processText.toDoubleOrNull() != null &&
processText.toDouble() != 0.0
) {
processText = if (processText.startsWith("-")) {
processText.drop(1)
} else {
"-$processText"
}
processTextView.text = processText
}
}

equalSign

 private fun equalSign() {
if (!isFirstInput) {
val result = evaluate(processText)
resultTextView.text = if (result.contains(".0")) {
result.dropLast(2)
} else {
result
}
isCalculated = true
}
}

allClear

private fun allClear() {
processText = ""
processTextView.text = ""
resultTextView.text = ""
isFirstInput = true
isCalculated = false
}











3會員
176內容數
本指南將以清晰易懂的方式介紹基礎概念,讓你能夠快速上手,輕鬆踏上學習 Kotlin 的旅程 透過簡單易懂的方式,讓你將能夠在短時間內建立起對 Kotlin 的基本了解,並開始實際應用於你的專案之中。不論你是想要進入 Android 開發領域或者只是想探索新的程式語言,這份指南都會成為你學習 Kotlin 的理想起點。
留言0
查看全部
發表第一個留言支持創作者!