[Video Summary] Ch. 4.6 Code Modularity w/Extracted Views, and Extensions w/Computed Properties (Dungeon Dice app)

SwiftUI 6 Th02 2025

Mô tả nhanh

Video này trình bày về cách refactor và tổ chức code trong ứng dụng Dungeon Dice bằng cách tách view, sử dụng extension với computed properties. Mục tiêu là làm cho code dễ đọc, bảo trì và quản lý hơn.

Video

Click vào hình dưới để mở:
Ch. 4.6 Code Modularity w/Extracted Views, and Extensions w/Computed Properties (Dungeon Dice app)

Mô tả chi tiết

Video này hướng dẫn về cách refactor và tổ chức code trong ứng dụng Dungeon Dice. Bắt đầu bằng việc chỉnh sửa để hàm arrangeGridItems chỉ nhận deviceWidth thay vì cả geometry proxy. Sau đó, video chuyển sang các kỹ thuật làm code dễ đọc hơn.

  1. Tách View:
    • Tách title View từ contentView ra một file riêng.
    • Đổi tên extractedView thành titleView.
    • Di chuyển titleView sang file TitleView.swift.
    • Chỉnh sửa preview provider để padding chỉ áp dụng cho preview, không làm thay đổi view chính.
    • Sử dụng .lineLimit.minimumScaleFactor để đảm bảo title hiển thị trên một dòng.
  2. Sử dụng Extension và Computed Properties:
    • Tạo một extension cho contentView.
    • Tạo computed property titleView trong extension để chứa code cho title text view.
    • Tạo computed property resultMessageView trong extension để chứa code cho message text view.
    • Sử dụng từ khóa private để giới hạn phạm vi sử dụng của các computed properties.
    • Giải thích rõ về cú pháp, cách sử dụng của computed propertyextension.
    • Áp dụng các kiến thức đã học để tách view result message.

Video kết thúc bằng việc giới thiệu bài học tiếp theo sẽ tập trung vào việc tách layout button, và thảo luận về việc khi nào nên dùng `view` thay vì `computed property`, đồng thời giải quyết các vấn đề với `geometry reader` thông qua `preference keys` và `bindings`.

Chúc bạn học tập hiệu quả!

Tags