หลักเกณฑ์การส่งผลิตภัณฑ์งาน

ในการประเมินผลครั้งสุดท้าย ผู้มีส่วนร่วมทุกรายต้องให้ลิงก์ไปยังงานที่ทำไว้สำหรับโปรแกรม การไม่ปฏิบัติตามอย่างถูกต้องอาจส่งผลให้โปรแกรมล้มเหลว ซึ่งทำได้หลายวิธี ดังนั้น โปรดอ่านเอกสารนี้อย่างละเอียด

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

ตัวอย่างที่ดีที่สุดที่เราเห็นมาในปีที่ผ่านมามีลักษณะคล้ายกับ "รายงานฉบับสุดท้าย" ซึ่งประกอบด้วย

  • คำอธิบายสั้นๆ เกี่ยวกับเป้าหมายของโปรเจ็กต์
  • สิ่งที่คุณทำ
  • สถานะปัจจุบัน
  • เหลือสิ่งที่ต้องทำอีก
  • โค้ดที่ผสาน (หรือไม่รวม) อัปสตรีม
  • ความท้าทายหรือสิ่งสำคัญที่ได้เรียนรู้ระหว่างทำโครงงาน

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

หมายเหตุถึง ผู้ร่วมให้ข้อมูล: เมื่อส่งงานขั้นสุดท้ายแล้ว คุณจะแก้ไขงานได้จนกว่าจะถึงวันสุดท้ายของการส่งผลงาน

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

ข้อกำหนด

  • ต้องสามารถระบุงานที่คุณทำได้อย่างง่ายดาย (การเปลี่ยนแปลงที่คุณทำ หรือโค้ดใหม่)
    • เมื่อมีคนไปที่ URL ที่ให้ไว้ ก็ควรจะทราบชัดเจนว่าคุณทำอะไรบ้าง โดยไม่ต้องให้ผู้เข้าชมทำการขุดหาข้อมูลเพิ่มเติมมากนัก
  • ควรอยู่ในที่ที่มีความเสถียร คุณไม่สามารถเปลี่ยน URL หลังจากที่ส่งไปแล้ว
  • คนอื่นควรใช้เนื้อหาใน (หรืออ้างอิงจาก) เป้าหมายของลิงก์เพื่อต่อยอดผลงานของคุณได้
    • หากงานเสร็จสมบูรณ์แล้ว 100% นักเรียนควรสามารถใช้งานได้
    • หากงานของคุณยังไม่เสร็จ 100% ก็ควรบอกให้ชัดเจนว่างานที่เหลือต้องทำอะไรบ้าง

ตัวอย่างที่ดี

คุณไม่จำเป็นต้องทำทั้งหมด (หรือบางส่วน) แต่ก็มีวิธีที่ช่วยให้คุณทำตามข้อกำหนดได้

  • สร้างบล็อกโพสต์หรือหน้าเว็บ หรือ GitHub แบบสาธารณะที่อธิบายผลงานที่คุณทำไว้ รวมถึงลิงก์ไปยังคอมมิตที่คุณสร้างและที่เก็บที่คุณดำเนินการ หากยังมีงานที่ต้องทำในโปรเจ็กต์ ให้รวมงานดังกล่าวไว้ด้วย คุณยังสามารถแชร์ไฮไลต์หรือผลงานที่ท้าทายได้ด้วย
    • ❗ นี่เป็นตัวเลือกที่ดีที่สุดเนื่องจากช่วยให้คุณรวมข้อมูลจำนวนมากได้อย่างง่ายดาย ซึ่งเป็นสิ่งที่ดีเนื่องจากจะแสดงให้เห็นอย่างชัดเจนว่าคุณทำงานอะไร รวมถึงช่วยให้ผู้อื่นใช้และทำความเข้าใจโค้ดของคุณได้ง่าย
  • หากใช้ GitHub และงานทั้งหมดอยู่ภายใต้คำขอพุลเดียว คุณจะใช้ลิงก์นั้นได้
    • ตรวจสอบว่าคำอธิบายการดึงคำขอมีรายละเอียดแล้ว (ดูคำแนะนำ สำหรับเนื้อหาของบล็อกโพสต์ที่ด้านบน)
    • ตรวจสอบว่าคำอธิบายระบุอย่างชัดเจนว่านี่เป็นข้อเสนอสำหรับ Google Summer of Code
    • หากการดึงคำขอจะมีการดำเนินการมากขึ้นหลังจากที่ GSoC สิ้นสุด โปรดตรวจสอบว่าคุณได้บันทึกคอมมิต GSoC ล่าสุดแล้ว
    • ❗ ตัวอย่างนี้ใช้ประโยชน์จากการมีบันทึกการเปลี่ยนแปลง รายการสัญญาผูกมัด และความคิดเห็นในรีวิวทั้งหมดไว้ในที่เดียว
  • หากที่เก็บ GitHub มีไว้สำหรับ GSoC เพียงอย่างเดียว ให้เพิ่ม README.md พร้อมรายละเอียดเพิ่มเติม
  • ส่งอีเมลไปยังรายชื่ออีเมลนักพัฒนาซอฟต์แวร์ที่เก็บถาวรแบบสาธารณะ พร้อมด้วยข้อมูลข้างต้นและลิงก์ไปยังรายการดังกล่าวด้วย
  • สร้างโฟลเดอร์สาธารณะใน Google ไดรฟ์และรวมแพตช์ทั้งหมดที่คุณสร้างไว้
  • สร้างสเปรดชีตสาธารณะด้วย Google ชีตแล้วระบุคอมมิตทั้งหมด
  • ลิงก์ไปยังข้อบกพร่องรายการเดียวที่มีการอ้างอิงผลงานและสิ่งอื่นๆ ที่เหมาะสมอย่างชัดเจน ฟีเจอร์นี้จะติดตามงานทั้งหมดที่คุณทำ ตรวจสอบว่ามีการแสดงคอมมิตทั้งหมดหรือหาได้ง่าย
  • ลิงก์ไปยังการเปลี่ยนแปลงแบบรวมหรือบริบทของการเปลี่ยนแปลง อย่าลืมใส่ส่วนหัวที่อธิบายว่าส่วนหัวนี้สำหรับโครงการอะไรและสำหรับคุณ เพื่อให้เป็นประโยชน์ต่อผู้อื่น

ตัวอย่างที่ไม่ดี

อย่าทำสิ่งเหล่านี้

  • ลิงก์ไปยัง tarball/zipfile ที่มีซอร์สโค้ดของโครงการทั้งหมดหรือไดเรกทอรีการทำงาน (ที่ผ่านมามีหลายคนดำเนินการเช่นนี้ไปแล้ว ซึ่งไม่เป็นประโยชน์ สำหรับผู้ที่ต้องการทำความเข้าใจเกี่ยวกับสิ่งที่คุณทำ)
  • ลิงก์ไปยังที่เก็บต้นทางหลักของโปรเจ็กต์
  • ลิงก์ไปยังการโคลนของที่เก็บต้นทางของโปรเจ็กต์
    • ซึ่งทำให้ยากที่จะทราบว่าการเปลี่ยนแปลงของคุณเป็นอย่างไร เนื่องจากงานของคุณมีการปนเปื้อนผู้อื่น
  • ลิงก์ไปยังหน้าโครงการ GSoC
    • เรารู้อยู่แล้วว่าสิ่งนั้นคืออะไร (นั่นคือ https://summerofcode.withgoogle.com/projects/#1234567890)

พี่เลี้ยง

โปรดช่วยผู้ให้ข้อมูลร่วมกันในการส่งโค้ดที่เหมาะสม คุณต้องดำเนินการนี้ก่อนระยะเวลาการส่งงานครั้งสุดท้าย

ตรวจสอบว่า...

  • ข้อมูลที่ส่งมาเป็นไปตามข้อกำหนดข้างต้น
  • คอมไพล์โค้ด
  • มีเอกสารประกอบว่าด้วยสาเหตุและอะไร

แนวคิดของ GSoC ไม่ได้เกิดจากการที่ผู้ให้ข้อมูลร่วมกันเลิกใช้งานโค้ด สิ่งสำคัญคือโค้ดดังกล่าวอาจมีประโยชน์ต่อโครงการโอเพนซอร์สที่โฮสต์ได้