ถ้าอยากได้โค้ดที่สะอาด แค่จำ "Rule of Six" ไว้ก็พอ
(davidamos.dev)- โค้ดที่อ่านง่ายและเข้าใจง่ายควรมีแต่ละบรรทัดสั้น ๆ
- สมองของมนุษย์ทำงานร่วมกันผ่าน 3 ส่วนคือ ความจำระยะยาว (LTM) / ความจำระยะสั้น (STM) / หน่วยความจำสำหรับการทำงาน (WM)
- พื้นที่ของความจำระยะสั้นและหน่วยความจำสำหรับการทำงานมีขนาดเล็กมาก จึงเก็บข้อมูลได้พร้อมกันเพียง 4~6 รายการ
- กล่าวคือ ถ้าโค้ดหนึ่งบรรทัดมีข้อมูลตั้งแต่ 6 รายการขึ้นไป ก็ควรย่อให้ง่ายลง นี่คือ "Rule of Six"
- ถ้าโค้ดซับซ้อนให้แยกออก — SIMPLE : Split Into MultiPle LinEs
map(lambda x: x.split('=')[1], s.split('?')[1].split('&')[-3:])
เมื่อลองแยกออกจะได้
query_params = s.split('?')[1].split('&')[-3:]
map(lambda x: x.split('=')[1], query_params)
ถ้ายังเกิน 6 รายการอยู่ก็แยกอีกครั้งจะได้
url_query_string = s.split('?')[1]
query_params = url_query_string.split('&')[-3:]
map(lambda x: x.split('=')[1], query_params) - ถ้าใช้กลยุทธ์ MORF (Move Out and Rewrite as a Function)
def query_params(url):
ㅤㅤquery_string = url.split('?')[1]
ㅤㅤreturn query_string.split('&')[-3:]
map(lambda x: x.split('=')[1], query_params(s))
5 ความคิดเห็น
โอ้ ตัวอย่างดีมากจริง ๆ เลย 555
เดิมทีฉันไม่ชอบการเขียนโค้ดให้จบในบรรทัดเดียวอยู่แล้ว ที่แท้นั่นคือเสียงกรีดร้องจากสมองของฉันนี่เอง
หนังสือที่แนะนำไว้ช่วงท้ายของบทความต้นฉบับที่ลิงก์ไว้ ได้รับการแปลและตีพิมพ์ในเกาหลีในชื่อ สมองของโปรแกรมเมอร์: ทุกเรื่องของวิทยาการรู้คิดที่โปรแกรมเมอร์ชั้นเยี่ยมควรรู้ โดยเนื้อหาที่แนะนำในบทความมีอธิบายไว้อย่างละเอียดกว่านี้เล็กน้อย
ผมก็ลองอ่านดูแล้วเหมือนกัน เนื้อหาข้างบนก็มีเขียนไว้แล้วนะครับ
คงต้องหาเวลาอ่านดูสักครั้งแล้วครับ! ขอบคุณครับ~