อันนี้เป็นประสบการณ์ของผมในการสอนเขียนโปรแกรมกับเพื่อนและก็แฟนนะครับ หลาย ๆ คนกำลังเจอปัญหาเดียวกัน คือ การใช้ตัวแปรผิด ไม่ว่าจะเป็นการนำ list ไปใส่เป็น index หรือการใช้ method ของ int ในตัวแปรประเภท string ส่วนใหญ่จะเป็นชื่อตัวแปรที่เป็นพี้นฐานทั่วไปเช่น i x y เป็นต้น ผมเลยจะมาอธิบายเรื่องนี้ให้เข้าใจกันง่าย ๆ
import math
def slow_sort(a_list: list, query: int):
star_platinum = len(a_list) - 1
the_world = 0
while the_world <= star_platinum:
hermit_purple = math.floor((the_world + star_platinum) / 2)
jonathan_joestar = a_list[hermit_purple]
if jonathan_joestar == query:
return hermit_purple
elif jonathan_joestar < query:
the_world = hermit_purple + 1
else:
star_platinum = hermit_purple - 1
return -1
ถ้าผู้อ่านยังไม่เคยเขียนหรืออ่านเกี่ยวกับอัลกอริทึมมาก่อน อาจจะงง ๆ ว่ามันคือโค้ดอะไร ผมขอบอกเลยนะครับว่าอันนี้คือ Binary Search ฉบับที่ชื่อตัวแปรไม่ตรงกับความหมายนั่นเองครับ อย่างไรก็ตามโค้ดนี้สามารถทำการ search ได้อย่างปกติ จะเห็นว่าเราไม่จำเป็นต้องตั้งชื่อตัวแปรให้ตรงกับความหมาย โปรแกรมก็สามารถทำงานได้ อย่างไรก็ตามการตั้งชื่อตัวแปรเป็นสิิ่งสำคัญในการเขียนโปรแกรมอย่างมาก เพราะว่าจะทำให้เราและคนอื่น ๆ เข้าใจสิ่งที่เราเขียนขึ้น
สรุปคือชื่อตัวแปรไม่ได้กำหนดว่ามันจะเอาไว้ทำอะไร แต่เราเป็นคนกำหนดว่าตัวแปรตัวนี้มีไว้ทำอะไร และใช้ให้ถูกต้องนั่นเองครับ