นักพัฒนาโปรแกรมที่ไม่ใช้การเติมโค้ดอัตโนมัติ/LSP ทำงานกันอย่างไร
(news.ycombinator.com)- วันนี้ฉันชื่นชมนักพัฒนาที่ไม่ใช้ฟังก์ชัน IDE ซึ่งในมุมมองฉันถือว่าเป็นเรื่องปกติในยุคนี้
- ตั้งคำถามกับนักพัฒนาเหล่านี้ที่ไม่ใช้การเติมคำอัตโนมัติ ภาษาเซิร์ฟเวอร์ และเครื่องมืออย่าง Copilot ที่เพิ่งได้รับความนิยมในช่วงหลัง
- สงสัยว่าพวกเขาจำ type และ field ทั้งหมดได้อย่างไร และขั้นตอนการทำงานเป็นอย่างไร
- สงสัยว่าพวกเขาหาฟังก์ชันที่อยู่ในไฟล์อื่นได้อย่างไร ทั้งนิยามและการทำงานจริง โดยไม่ใช้ความสามารถ "ไปยังนิยาม" ของ Language Server
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
หนึ่งในโปรแกรมเมอร์พูดว่าหลังจากได้พบกับโปรแกรมเมอร์ผู้พิการทางสายตา เขาได้เรียนรู้ว่าความเป็นระเบียบของโค้ดมีความสำคัญเพียงใด นักพัฒนาผู้พิการทางสายตาย้ำว่ารหัสควรมีโครงสร้างที่ชัดเจนและมีตรรกะ ซึ่งนำไปสู่ความกังวลเรื่องการพึ่งพาฟีเจอร์ของ LSP/IDE ที่อาจบดบังข้อบกพร่องเชิงโครงสร้างของ codebase ได้
เขากล่าวว่า LSP จำเป็นในระบบที่มีการประกาศแบบชั่วคราวจำนวนมาก ตัวอย่างเช่น React/TypeScript ในขณะที่ codebase Python ที่ไม่ใช้ framework ส่วนใหญ่สามารถใช้ shell completion ได้เพียงพอ
มีนักพัฒนาอย่างน้อยสองแบบที่หลีกเลี่ยง LSP/LLM กลุ่มแรกคือกลุ่มที่พึ่งพาคนอื่นเสมือนเป็นโปรโตคอลเซิร์ฟเวอร์ภาษาแบบมนุษย์ กลุ่มที่สองคือผู้ที่เก่งในการสำรวจ codebase โดยใช้เครื่องมือเก่า
แนะนำให้ปิดการใช้งาน LSP เป็นเวลา 1 เดือน เพื่อให้ได้เรียนรู้คุณค่าของการจัดองค์กรโปรเจกต์ การตั้งชื่อไฟล์ และ import ที่เขียนแบบชัดเจน
ผู้ที่ใช้ shell เป็นสภาพแวดล้อมการพัฒนามักเลือกใช้เครื่องมือ CLI เพื่อคุ้นเคยกับโค้ด รักการคอมไพล์และการเช็กไทป์ที่รวดเร็ว และหลีกเลี่ยงสิ่งรบกวนทางสายตาจาก IDE
เขาแชร์ประสบการณ์ทำงานด้วย vim แบบไม่พึ่งตัวช่วย โดยชี้ว่าสำคัญมากในการใช้ tab และการตั้งชื่อให้ดี
เขาเปรียบเทียบกับการขับรถโดยไม่ใช้ GPS และเน้นว่าความคุ้นเคยเชิงลึกกับ codebase สำคัญมาก เขาไม่ได้ปฏิเสธ LSP แต่ยังคงชอบเครื่องมือแนว vim
เขาเชื่อว่าความช่วยเหลือมากมายอาจรบกวนได้ และการโฟกัสในสภาพแวดล้อมที่เงียบจึงสำคัญ ใช้มาตรฐาน POSIX utility เพื่ออ่านและค้นหาโค้ด
เขากล่าวว่าการจำและความเจ็บปวดเป็นสิ่งที่ช่วยให้การเรียนรู้ได้ผล เขาพบว่าการตั้งค่า vim ให้น้อยที่สุดช่วยให้เข้าใจความซับซ้อนของ Linux และภาษามากขึ้น
เขาได้ข้อสรุปว่าชุดเครื่องมือสมัยใหม่ช่วยรักษาผลผลิตได้แม้ไม่อยู่ในภาวะ flow ซึ่งกระตุ้นให้ลองใช้ความสามารถแบบสมัยใหม่เช่น VSCode