‹

10 · โค้ดเบสที่ merge ไม่จบ

10 · ​โค้ด​เบส​ที่ merge ​ไม่​จบ

​ทุกอย่าง​ใน​เล่ม​นี้​จนถึง​บท​ก่อน​เป็นเรื่อง​ของ​เซลล์​ประสาท ​ซึ่ง​ทำให้เกิด​คำถาม​ที่​ควร​ถาม​กับ​ข้ออ้าง​ทุก​ข้อ​ที่​ดู​กว้าง ​คือ​มัน​เป็นคุณ​สมบัติ​ของ​ระบบประสาท ​หรือ​เป็นคุณ​สมบัติ​ของ​สิ่ง​ที่​ต้อง​ควบคุม​อะไร​ภายใต้​ความหน่วง

​วิธี​ทดสอบ​คือ​ไปดู​ที่​ที่​ไม่​มี​เซลล์​ประสาท​เลย

​ใน​เซลล์​ทุก​เซลล์​ของ​คุณ​มี​ไมโทคอนเดรีย ​และ​ไมโทคอนเดรีย​เคย​เป็น​แบคทีเรีย​ที่อยู่​ได้​ด้วยตัวเอง ​เมื่อ​ราว​หนึ่ง​พัน​ห้า​ร้อย​ถึง​สอง​พัน​ล้าน​ปีก่อน ​มัน​เข้าไป​อยู่​ใน​เซลล์​อื่น​แล้ว​ไม่​ได้​ออกมา​อีก ​ข้อ​นี้​ไม่​ใช่​การเปรียบ​เทียบ ​มัน​มี​หลักฐาน​ของ​ตัวเอง ​คือ​ไมโทคอนเดรีย​ยังมี DNA ​เป็น​วง​ของ​ตัวเอง ​มีระบบ​สร้าง​โปรตีน​ของ​ตัวเอง ​และ​มี​เยื่อ​สองชั้น​แบบ​ที่​เข้ากับ​การถู​กกลืน​เข้าไป ​กรอบ​อธิบาย​นี้​ถูก​ผลักดัน​โดย Lynn Margulis ​ใน​งานปี 1967 ​และ​ปัจจุบัน​เป็น​คำอธิบาย​มาตรฐาน

DNA ​ของ​ไมโทคอนเดรีย​ใน​มนุษย์​มี​ขนาด 16,569 ​คู่​เบส ​และ​มี​ยีน​อยู่ 37 ​ตัว ​ใน​จำนวน​นั้น 13 ​ตัว​ถอดรหัส​เป็น​โปรตีน ​ที่​เหลือ​เป็น tRNA 22 ​ตัว​และ rRNA 2 ​ตัว

​ตัวเลข​ที่​ต้อง​วาง​คู่​กัน​เพื่อให้​เห็น​เรื่อง​คือ​จำนวน​โปรตีน​ทั้งหมด​ที่​ไมโทคอนเดรีย​ใช้​ทำงาน ​ซึ่ง​อยู่​ใน​ระดับ​หนึ่ง​พัน​ตัว​ขึ้นไป ​โปรตีน​เกือบ​ทั้งหมด​นั้น​ถูก​เข้ารหัส​ไว้​ใน​นิวเคลียส ​สร้าง​ข้างนอก ​แล้ว​ขนส่ง​เข้าไป

​แปล​ว่า​ยีน​กว่า​เก้า​สิบ​แปด​เปอร์เซ็นต์​ย้ายบ้าน​ไป​แล้ว ​เหลือ​สิบ​สาม​ตัว​ที่​ไม่​ย้าย ​และ​เวลา​ที่​ผ่าน​ไป​คือ​หนึ่ง​พัน​ห้า​ร้อย​ล้าน​ปี

​คำถาม​คือ​ทำไม​สิบ​สาม​ตัว​นั้น​ไม่​ย้าย

​คำอธิบาย​ที่​ได้รับ​น้ำหนัก​มาก​ที่สุด​ตอนนี้​มีชื่อ​ย่อ​ว่า CoRR ​ย่อ​มาจาก co-location for redox regulation ​ผลักดัน​โดย John Allen ​ใจความ​คือ​โปรตีน​สิบ​สาม​ตัว​นั้น​เป็น​ชิ้นส่วน​แกนกลาง​ของ​โซ่​ส่ง​อิเล็กตรอน ​ซึ่ง​เป็นที่​ที่​พลังงาน​ถูก​ผลิต ​และ​อัตรา​การสร้าง​ชิ้นส่วน​เหล่านั้น​ต้อง​ปรับ​ตาม​สภาพ​ทาง​เคมี​ที่​จุด​นั้น​เดี๋ยวนั้น ​การส่งข่าว​ออก​ไป​ถึง​นิวเคลียส​แล้ว​รอ​โปรตีน​ขน​กลับมา ​ช้า​เกินไป​สำหรับ​การควบคุม​ชนิด​นี้

​ข้อ​นี้​เป็น​สมมติฐาน​นำ ​ไม่​ใช่​ข้อสรุป ​และ​มี​คำอธิบาย​อื่น​ที่​แข่ง​อยู่ ​ข้อ​ที่​แข็ง​ที่สุด​ใน​กลุ่ม​นั้น​คือ​คุณสมบัติ​ทาง​เคมี​ของ​โปรตีน​สิบ​สาม​ตัว​นี้​เอง ​มัน​ไม่​ชอบ​น้ำ​มาก ​ซึ่ง​ทำให้​การขนส่ง​ข้าม​เยื่อ​เข้าไป​ทำได้​ยาก ​ถ้า​ข้อ​นี้​จริง ​สิบ​สาม​ตัว​นั้น​ไม่​ได้​อยู่​เพราะ​มีประโยชน์​ที่จะ​อยู่ ​มัน​อยู่​เพราะ​ย้าย​ไม่​ได้ ​ทั้งสอง​คำอธิบาย​อาจ​ถูก​ทั้งคู่​ใน​สัดส่วน​ที่​ยัง​ไม่​มี​ใคร​แยก​ออก

​ถ้า CoRR ​ถูก ​สถาปัตยกรรม​ใน​เล่ม​นี้​ก็​เก่า​กว่า​เซลล์​ประสาท​ราว​หนึ่ง​พัน​ล้าน​ปี ​และ​มัน​เป็น​สถาปัตยกรรม​เดียวกัน​คำต่อคำ ​คือ ​เก็บ​ผู้ควบคุม​ไว้​ที่​หน้า​งาน ​เพราะ​ทาง​ไปหา​ส่วนกลาง​ช้า​เกิน

​รี​เฟล็กซ์​ไขสันหลัง​ใน​บท​แรก ​เขียน​ไว้​ด้วย​ภาษา​ของ​เคมี ​ก่อนที่จะ​มี​กระดูกสันหลัง​ให้​เขียน​ถึง

​สิบ​สาม​ยีน​นั้น​ยัง​เป็น​ข้อสอบ​ที่​ดี​สำหรับ​ประโยค​ที่ว่า​ชีวิต​เขียน​โค้ด​มา​ดี

​ถ้า​โค้ด​ชุด​นี้​ดี ​มัน​ควร​ย้าย​ให้​จบ ​หนึ่ง​จีโนม ​หนึ่ง​ที่เก็บ ​หนึ่ง​ระบบ​สำเนา ​หนึ่ง​พัน​ห้า​ร้อย​ล้าน​ปี​นาน​พอ​สำหรับ​งาน​ที่​เหลือ​อีก​สิบ​สาม​ชิ้น​อย่าง​เหลือเฟือ ​แต่​มัน​ไม่​จบ ​และ​ค่า​ของ​การไม่​จบ​ยัง​ถูก​จ่าย​อยู่​ทุกวัน ​ไมโทคอนเดรีย​ต้อง​มีระบบ​สำเนา DNA ​ระบบ​ซ่อม DNA ​และ​ระบบ​แปลรหัส​ของ​ตัวเอง​แยก​อีก​ชุด​ทั้ง​ชุด ​เพื่อ​ยีน​สิบ​สาม​ตัว ​โรค​ทาง​ไมโทคอนเดรีย​ทั้ง​กลุ่ม​เกิด​จาก​รอยต่อ​ที่​ไม่​เคย​เรียบ ​และ​การที่​ไมโทคอนเดรีย​ถ่ายทอด​ทาง​แม่​ข้างเดียว ​เป็น​กฎ​ที่​ออกมา​เพื่อ​กัน​ไม่​ให้​จีโนม​สอง​ชุด​ขัดกัน ​ไม่​ใช่​การออกแบบ​ที่​สะอาด ​แต่​เป็น​ข้อบังคับ​ที่ตั้ง​ขึ้น​เพื่อ​กลบ​ปัญหา​ที่​แก้​ไม่​ได้

​นี่​ไม่​ใช่​โค้ด​ที่​ดี ​มัน​คือ​การรวม​โค้ด​เบส​สอง​ชุด​เข้าด้วยกัน​แล้ว​ไม่​เคย refactor ​ให้​จบ

​โค้ด​ที่​ดี​คือ​โค้ด​ที่​คนเขียน​พอใจ ​ส่วน​โค้ด​ที่​ยัง​ไม่​ตาย​คือ​โค้ด​ที่​ผ่านการทดสอบ​ทุกวัน​เป็นเวลา​หนึ่ง​พัน​ห้า​ร้อย​ล้าน​ปี​โดย​ไม่​มี​ใคร​มา​แก้​ให้ ​สอง​อย่างนี้​ไม่​เหมือนกัน ​และ​อย่าง​ที่สอง​ตรวจ​ได้ ​ส่วน​อย่าง​แรก​เป็นเรื่อง​ของ​รสนิยม

​ชีวิต​ไม่​ได้​เขียน​โค้ด​สวย ​ชีวิต​เขียน​โค้ด​ที่​ยัง​ไม่​ตาย

บทถัดไป · 12 / 1211 · ราคาของสถาปัตยกรรมนี้
Size
Page
Font

Two Speeds

❦
1ก่อนอ่าน21 · เข่าที่ตอบไปก่อนแล้ว32 · เซลล์ที่ไวที่สุดในดวงตา คือเซลล์ที่ช้าที่สุด43 · สายสองเส้นที่ออกจากดวงตา54 · เห็นโดยไม่รู้ว่าเห็น65 · ความเจ็บที่มาถึงสองครั้ง76 · รีเฟล็กซ์ที่รู้ว่าคุณกำลังถืออะไรอยู่87 · ย่นสายไม่ได้ ก็ทำนาย98 · ตอนที่สายช้ามาถึง109 · ข้ออ้างที่รูปทรงถูกแต่หลักฐานอ่อน1110 · โค้ดเบสที่ merge ไม่จบ1211 · ราคาของสถาปัตยกรรมนี้