คู่มือรูปแบบและแนวทางการออกแบบ API
ใช้ ชื่อ ที่ชัดเจน ป้ายกำกับอาร์กิวเมนต์ ที่รอบคอบ ค่าเริ่มต้น ที่เหมาะสม และ ความคิดเห็นเอกสาร ที่กระชับ เพื่อออกแบบ API ของ Swift ที่ใช้งานเป็นมิตร
คู่มือรูปแบบและแนวทางการออกแบบ API เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
หลักการ
API ที่ดีควรอ่านง่าย คาดเดาได้ และมีขนาดเล็ก
- ชื่อที่อธิบายเจตนา
- ป้ายกำกับอาร์กิวเมนต์ที่มีประโยชน์
- ค่าเริ่มต้นสำหรับกรณีทั่วไป
- เอกสารและตัวอย่างที่กระชับ
พื้นฐานการตั้งชื่อ
การกระทำ => คำกริยา ข้อมูล => คำนาม หลีกเลี่ยงคำย่อที่บดบังความหมาย
// Prefer clear, simple names.
// BAD:
func doCalc(_ a: Int, _ b: Int) -> Int { a + b }
// GOOD:
func sum(_ a: Int, _ b: Int) -> Int { a + b }
// BAD (ambiguous):
struct Cfg { let v: Int }
// GOOD (nouns for data types):
struct Configuration { let retries: Int }
print(sum(2, 3)) // 5ป้ายกำกับอาร์กิวเมนต์
ป้ายกำกับช่วยให้จุดเรียกอ่านได้อย่างเป็นธรรมชาติ: remove(at:), insert(_:at:)
// Choose labels that explain a parameter's role.
// BAD:
func remove(_ index: Int) { print("remove", index) }
// BETTER:
func remove(at index: Int) { print("remove at", index) }
// Mixed labels:
func insert(_ item: String, at index: Int) {
print("insert", item, "at", index)
}
remove(at: 2)
insert("a", at: 1)ค่าเริ่มต้นที่ดี
ใช้พารามิเตอร์ค่าเริ่มต้นเพื่อให้การเรียกใช้ทั่วไปสั้นลง ขณะเดียวกันก็ยังมีความยืดหยุ่น
// Provide defaults to cover the 80% case.
func greet(_ name: String, times: Int = 1, shout: Bool = false) {
let msg = shout ? "HELLO, \\(name)!" : "Hello, \\(name)!"
for _ in 0..<times { print(msg) }
}
greet("Ana") // default: once, not shouting
greet("Ben", times: 2)
greet("Cara", shout: true)ผลกระทบและการเปลี่ยนแปลงค่า
ทำให้ผลกระทบมองเห็นได้ชัด ใช้เมธอดที่เปลี่ยนแปลงสถานะ และเปิดมุมมองแบบอ่านอย่างเดียวด้วย private(set) เมื่อเหมาะสม
// Prefer pure functions when possible; name mutating effects explicitly.
struct Counter {
private(set) var value = 0
mutating func increment(by amount: Int = 1) { value += amount }
}
var c = Counter()
c.increment()
c.increment(by: 3)
print("value =", c.value) // 4การจัดทำเอกสาร API
เคล็ดลับสำหรับความคิดเห็นเอกสาร:
- เริ่มด้วยสรุปหนึ่งประโยค
- ระบุว่าโค้ดทำอะไร ไม่ใช่ทำอย่างไร
- แสดงตัวอย่างการเรียกใช้สั้น ๆ
- ระบุเงื่อนไขก่อนใช้งานหรือข้อควรระวังด้านประสิทธิภาพเฉพาะเมื่อสำคัญ
เหตุผลในการใช้ป้ายกำกับ
ตรวจสอบสั้น ๆ: ควรเพิ่มป้ายกำกับภายนอกเมื่อใด
สรุปทบทวน
สรุปทบทวน: เลือกใช้ชื่อที่ชัดเจน เพิ่มป้ายกำกับที่อ่านได้ดี เสนอค่าเริ่มต้นสำหรับการเรียกใช้ทั่วไป ทำให้ผลกระทบชัดเจน และจัดเอกสารให้สั้นพร้อมตัวอย่าง
คำถามที่พบบ่อย
บทเรียน “คู่มือรูปแบบและแนวทางการออกแบบ API” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “คู่มือรูปแบบและแนวทางการออกแบบ API” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “คู่มือรูปแบบและแนวทางการออกแบบ API”
ใช้ ชื่อ ที่ชัดเจน ป้ายกำกับอาร์กิวเมนต์ ที่รอบคอบ ค่าเริ่มต้น ที่เหมาะสม และ ความคิดเห็นเอกสาร ที่กระชับ เพื่อออกแบบ API ของ Swift ที่ใช้งานเป็นมิตร คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน
บทเรียน “คู่มือรูปแบบและแนวทางการออกแบบ API” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน SwiftFormat / SwiftLint
- คู่มือรูปแบบและแนวทางการออกแบบ API
- การจัดทำเอกสารโค้ด (แนะนำ DocC)