อยู่ในกระแส

(… หรือทำไมฉันถึงหมกมุ่นอยู่กับการเขียนโปรแกรมไฟล์เดียว และคุณก็ควรเช่นกัน)
เรื่องโกหกครั้งใหญ่ที่เราเคยบอกกันทั้งในโรงเรียนและอีกครั้งในช่วงเริ่มต้นอาชีพ ก็คือการ "เก่ง" ในการเขียนโปรแกรมนั้นเกี่ยวกับการแก้ปัญหาที่ยากขึ้นและยากขึ้นด้วยวิธีที่หรูหราขึ้น ความจริงเป็นเรื่องธรรมดามากกว่านั้นมาก — การเขียนโปรแกรมให้เก่งคือการแก้ปัญหาชุดใหญ่ที่ไม่สำคัญอย่างรวดเร็วและรวดเร็ว อย่างไรก็ตาม สิ่งที่เป็นจริงคือ "สถานะการไหล" มีค่ามากเพียงใดในการทำเช่นนี้ ความสามารถในการหมกมุ่นอยู่กับงานช่วยให้คุณเปลี่ยนระหว่างโดเมนได้อย่างรวดเร็ว ติดตามการไหลของสถานะจากผู้ใช้ไปยังตรรกะทางธุรกิจผ่านไปยังที่เก็บข้อมูล และย้อนกลับอีกครั้ง
แนวทางปฏิบัติในการเขียนโปรแกรมที่ "ดี" จำนวนมากเพิ่มความซับซ้อน:
- แยกรุ่นและมุมมองและตัวควบคุม
- เก็บการทดสอบทั้งหมดของคุณไว้ในไฟล์และโฟลเดอร์แบบขนาน
- อย่าอินไลน์ CSS — เก็บไว้ในลำดับชั้นของไฟล์ CSS แยกกัน โดยอ้างอิงตามคลาสและ ID
- อย่าแม้แต่เขียน CSS — ใช้ตัวประมวลผลล่วงหน้าและสร้างจากภาษากลางบางภาษา
- ใช้เนมสเปซที่ซ้อนกันของแพ็กเกจและโมดูล โดยแต่ละรายการจะมี Standard conVentions ของตัวเองสำหรับการตั้งชื่อ thin_gs
ในลักษณะเดียวกับที่มาตราส่วนการสำรวจถูกวางแผนเทียบกับความสามารถโดยเฉลี่ยของมนุษย์ในการแยกแยะ (โดยปกติคือ 5-7 ตัวเลือก ไม่เกิน 9 ตัวเลือก) เฟรมเวิร์กที่ใช้ไฟล์น้อยลง ประเภทน้อยลง และจัดระเบียบในลำดับชั้นที่ราบเรียบที่สุดเท่าที่จะเป็นไปได้ ง่ายกว่าสำหรับนักพัฒนาใหม่ในการเร่งความเร็ว และง่ายกว่าสำหรับทุกคนที่จะอยู่ในสถานะไหลเมื่อทำงาน
โปรแกรมเมอร์ที่ "ดี" ชอบดูถูก PHP และจาวาสคริปต์ว่าเป็นภาษาที่ "แย่" แต่ทั้งคู่มีความโดดเด่นในการรองรับรูปแบบ "ไฟล์เดียว" ที่เรียบง่าย Javascript ทำสิ่งนี้ผ่าน JSX; PHP อนุญาตให้ทุกสคริปต์ php มี HTML ตามอำเภอใจเช่นกัน ฉันได้ตัดสินใจที่จะสร้างความสุขของการพัฒนาไฟล์เดียว แต่สำหรับ Python หวังว่านี่จะช่วยเชื่อมช่องว่างที่ชัดเจนระหว่างชุมชนวิทยาศาสตร์ข้อมูลงูหลาม "Notebook" ชุมชนนักพัฒนาซอฟต์แวร์ "Boot Camp" และแนวหน้าของการพัฒนาเว็บแอปพลิเคชัน
ในบล็อกโพสต์ถัดไป ฉันจะพูดถึงแนวทางปฏิบัติที่ "ไม่ดี" มากมายที่ฉันยอมรับเพื่อลดความซับซ้อนและปรับปรุงประสบการณ์การพัฒนาของฉัน ยิ่งไปกว่านั้น ฉันจะประกาศไลบรารี่โอเพ่นซอร์สต่างๆ ที่ฉันค้นพบ ขยาย หรือพัฒนาไปพร้อมกัน