การวิเคราะห์โค้ด Production ด้วย AI

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

มากกว่าการสร้างโค้ด

nanobanana: full: การวิเคราะห์โค้ด Production ด้วย AI

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ภาพรวมของคอร์ส

nanobanana: half: นักพัฒนานั่งทำงานกับหลายหน้าจอ

 

ในคอร์สนี้ คุณจะได้เรียนรู้:

  • วิเคราะห์โค้ดด้วย AI สำหรับโค้ด Production
  • ทดสอบและรักษาความปลอดภัยด้วย AI
  • ใช้ AI สำหรับการออกแบบซอฟต์แวร์ และการทำงานร่วมกัน
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

สถานการณ์: Wayfarer Labs

nanobanana: half: สำนักงาน Startup ด้านการท่องเที่ยวพร้อมแผนที่โลก

 

  • 💻 คุณเป็น นักพัฒนาซอฟต์แวร์ ที่ Wayfarer Labs
  • 🌎 Startup ด้านการท่องเที่ยว ที่สร้าง Mobility Platform
  • 🔎 ภารกิจของคุณ: ค้นหา เครื่องมือ Analytics แบบ Open-source
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ค้นพบ Atlas

 

atlas-ch1.png

 

คำถามสำคัญก่อนนำมาใช้:

  • ดูแลรักษาได้หรือไม่?
  • เชื่อถือได้หรือไม่?
  • เป็น ตัวเลือกระยะยาวที่มั่นคงหรือไม่?

 

🤖 AI ช่วย เร่งและจัดระบบ การประเมิน Codebase ได้!

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ทำความเข้าใจ Repository ใหม่

 

nanobanana: full: AI ช่วยสำรวจ Repository ใหม่

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การเขียน Prompt เพื่อทำความเข้าใจ Codebase

prompt1-ch1.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การเขียน Prompt เพื่อทำความเข้าใจ Codebase

 

atlas-command.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

 

🤖 Prompt สำหรับ Static Analysis:

Repository นี้มี Python analytics toolbox ชื่อ Atlas สำหรับใช้งานใน สภาพแวดล้อม Production

สมมติว่ามีสิทธิ์เข้าถึงระบบ Unix-like และสามารถติดตั้งเครื่องมือ Open-source ทั่วไปได้

ต้องการ วิเคราะห์ Static Analysis ของ Codebase นี้โดยไม่ต้องรันโค้ด

 

เป้าหมาย คือ:

  • แนะนำเครื่องมือ Static Analysis ที่เหมาะสมสำหรับโปรเจกต์นี้
  • อธิบายสิ่งที่แต่ละเครื่องมือวัดและเหตุผลที่เกี่ยวข้อง
  • ระบุคำสั่งสำหรับรันการวิเคราะห์
  • อธิบายวิธีตีความผลลัพธ์หลัก
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Dynamic Analysis ด้วย AI

nanobanana: full: การวิเคราะห์ Dynamic Analysis และ Profiling

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ประเมินคุณภาพโค้ดด้วย AI

 

🤖 Prompt สำหรับ Maintainability:

วิเคราะห์ Codebase เพื่อหา ปัญหาด้าน Maintainability: ระบุ Module ที่รับผิดชอบมากเกินไป ฟังก์ชันที่มี ความรับผิดชอบไม่ชัดเจน และบริเวณที่ การเปลี่ยนแปลงครั้งเดียว ส่งผลกระทบต่อ หลายไฟล์

 

ปัญหา Maintainability:

  • Module ที่รับผิดชอบมากเกินไป
  • ความรับผิดชอบไม่ชัดเจน
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Complexity และ Technical Debt

 

🤖 Prompt สำหรับ Complexity:

ระบุบริเวณที่มี Logical Complexity สูง โดยเน้นที่ ฟังก์ชันที่ยาว Nested Conditionals และ Branching

ตัวบ่งชี้ Complexity:

  • ฟังก์ชันที่ยาว
  • Nested Conditionals
  • Branching สูง

 

🤖 Prompt สำหรับ Technical Debt:

ค้นหาสัญญาณของ Technical Debt เช่น TODO Logic ที่ซ้ำซ้อน หรือ รูปแบบ Legacy

สัญญาณ Technical Debt:

  • TODO และ FIXME
  • Logic ที่ซ้ำซ้อน
  • รูปแบบ Legacy
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

สรุปผลการประเมิน

 

สรุปผลการประเมิน Atlas:

  • ✅ Codebase มีโครงสร้างที่ดี
  • ✅ เหมาะสมสำหรับการนำมาใช้
  • 👀 แก้ไขปัญหา Complexity ก่อน
  • 👀 จัดการ Technical Debt
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การ Refactor ด้วย AI

 

code-changes-ch1.png

 

AI ยังช่วยได้ในด้านนี้:

  • Refactor โดยเน้น การเปลี่ยนแปลงที่มีผลกระทบสูง
  • เสนอ Patch
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ข้อควรระวังสำคัญ

nanobanana: half: นักพัฒนากำลังตรวจสอบคำแนะนำของ AI อย่างรอบคอบ

 

AI ไม่ใช่สิ่งทดแทนวิจารณญาณทางวิศวกรรม

  • อาจเกิด ข้อผิดพลาด
  • อาจ ขาด Context
  • อาจ Hallucinate

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

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ฝึกปฏิบัติกันเลย!

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Preparing Video For Download...