การเขียนโค้ดโปรเจ็กต์
พื้นที่เก็บข้อมูลพื้นฐานเพื่อแบ่งปันโครงการเริ่มต้นของคุณกับผู้อื่นและช่วยให้พวกเขาเติบโตเช่นกัน!
ก่อนอื่นขอบคุณที่สละเวลามีส่วนร่วม!
การบริจาคทุกประเภทได้รับการสนับสนุนและให้คุณค่า ดูสารบัญสำหรับวิธีต่าง ๆ ในการช่วยเหลือและรายละเอียดเกี่ยวกับวิธีการที่โครงการนี้จัดการกับพวกเขา โปรดตรวจสอบให้แน่ใจว่าได้อ่านส่วนที่เกี่ยวข้องก่อนที่จะบริจาคของคุณ มันจะทำให้ง่ายขึ้นมากสำหรับผู้ดูแลของเราและทำให้ประสบการณ์ที่เกี่ยวข้องกับทุกคนที่เกี่ยวข้อง ชุมชนตั้งตารอการมีส่วนร่วมของคุณ
และถ้าคุณชอบโครงการ แต่ก็ไม่มีเวลามีส่วนร่วมนั่นก็ไม่เป็นไร มีวิธีง่าย ๆ อื่น ๆ ในการสนับสนุนโครงการและแสดงความขอบคุณซึ่งเราจะมีความสุขมากเกี่ยวกับ:
- เป็นดาราโครงการ
- ทวีตเกี่ยวกับเรื่องนี้
- อ้างอิงโครงการนี้ใน readme ของโครงการของคุณ
- พูดถึงโครงการที่ Meetups ท้องถิ่นและบอกเพื่อน/เพื่อนร่วมงานของคุณ
สารบัญ
- จรรยาบรรณ
- ฉันมีคำถาม
- ฉันต้องการมีส่วนร่วม
- การรายงานข้อบกพร่อง
- แนะนำการปรับปรุง
จรรยาบรรณ
โครงการนี้และทุกคนที่เข้าร่วมจะถูกควบคุมโดยจรรยาบรรณของ MD โดยการเข้าร่วมคุณคาดว่าจะสนับสนุนรหัสนี้ โปรดรายงานพฤติกรรมที่ยอมรับไม่ได้ถึง <>
ฉันมีคำถาม
หากคุณต้องการถามคำถามเราคิดว่าคุณได้อ่านเอกสารที่มีอยู่แล้ว
ก่อนที่คุณจะถามคำถามคุณควรค้นหาปัญหาที่มีอยู่ซึ่งอาจช่วยคุณได้ดีที่สุด ในกรณีที่คุณพบปัญหาที่เหมาะสมและยังต้องการคำชี้แจงคุณสามารถเขียนคำถามของคุณในปัญหานี้ ขอแนะนำให้ค้นหาคำตอบทางอินเทอร์เน็ตก่อน
หากคุณยังรู้สึกว่าจำเป็นต้องถามคำถามและต้องการคำชี้แจงเราขอแนะนำสิ่งต่อไปนี้:
- เปิดปัญหา
- ให้บริบทให้มากที่สุดเท่าที่จะทำได้เกี่ยวกับสิ่งที่คุณกำลังเจอ
- จัดเตรียมเวอร์ชันโครงการและแพลตฟอร์ม (NodeJs, NPM ฯลฯ ) ขึ้นอยู่กับสิ่งที่ดูเหมือนเกี่ยวข้อง
จากนั้นเราจะดูแลปัญหาโดยเร็วที่สุด
ฉันต้องการมีส่วนร่วม
ประกาศทางกฎหมาย
เมื่อมีส่วนร่วมในโครงการนี้คุณต้องยอมรับว่าคุณได้เขียนเนื้อหา 100% ว่าคุณมีสิทธิ์ที่จำเป็นสำหรับเนื้อหาและเนื้อหาที่คุณมีส่วนร่วมอาจได้รับภายใต้ใบอนุญาตโครงการ
การรายงานข้อบกพร่อง
ก่อนส่งรายงานข้อผิดพลาด
รายงานข้อผิดพลาดที่ดีไม่ควรปล่อยให้ผู้อื่นจำเป็นต้องไล่ล่าคุณเพื่อรับข้อมูลเพิ่มเติม ดังนั้นเราขอให้คุณตรวจสอบอย่างรอบคอบรวบรวมข้อมูลและอธิบายปัญหาในรายละเอียดในรายงานของคุณ โปรดทำตามขั้นตอนต่อไปนี้ล่วงหน้าเพื่อช่วยให้เราแก้ไขข้อผิดพลาดที่อาจเกิดขึ้นได้เร็วที่สุด
- ตรวจสอบให้แน่ใจว่าคุณใช้เวอร์ชันล่าสุด
- ตรวจสอบว่าข้อผิดพลาดของคุณเป็นข้อผิดพลาดจริง ๆ และไม่ใช่ข้อผิดพลาดในด้านข้างของคุณเช่นโดยใช้ส่วนประกอบ/เวอร์ชันสภาพแวดล้อมที่เข้ากันไม่ได้ (ตรวจสอบให้แน่ใจว่าคุณได้อ่านเอกสารหากคุณกำลังมองหาการสนับสนุนคุณอาจต้องการตรวจสอบส่วนนี้)
- หากต้องการดูว่าผู้ใช้รายอื่นมีประสบการณ์ (และแก้ไขแล้ว) ปัญหาเดียวกันกับที่คุณมีให้ตรวจสอบว่ายังไม่มีรายงานข้อผิดพลาดที่มีอยู่สำหรับข้อผิดพลาดหรือข้อผิดพลาดของคุณในตัวติดตามบั๊กหรือไม่
- ตรวจสอบให้แน่ใจว่าได้ค้นหาอินเทอร์เน็ต (รวมถึงสแต็คล้น) เพื่อดูว่าผู้ใช้นอกชุมชน GitHub ได้พูดคุยเกี่ยวกับปัญหาหรือไม่
- รวบรวมข้อมูลเกี่ยวกับข้อผิดพลาด:
- Stack Trace (Traceback)
- ระบบปฏิบัติการแพลตฟอร์มและเวอร์ชัน (Windows, Linux, MacOS, X86, ARM)
- เวอร์ชันของล่าม, คอมไพเลอร์, SDK, สภาพแวดล้อมรันไทม์, ผู้จัดการแพ็คเกจขึ้นอยู่กับสิ่งที่ดูเหมือนเกี่ยวข้อง
- อาจเป็นอินพุตของคุณและเอาต์พุต
- คุณสามารถทำซ้ำปัญหาได้หรือไม่? และคุณสามารถทำซ้ำด้วยเวอร์ชันเก่าได้หรือไม่?
ฉันจะส่งรายงานข้อผิดพลาดที่ดีได้อย่างไร?
คุณต้องไม่รายงานปัญหาที่เกี่ยวข้องกับความปลอดภัยช่องโหว่หรือข้อบกพร่องรวมถึงข้อมูลที่ละเอียดอ่อนไปยังตัวติดตามปัญหาหรือที่อื่น ๆ ในที่สาธารณะ จะต้องส่งข้อบกพร่องที่ละเอียดอ่อนแทนอีเมลถึง <>
เราใช้ปัญหา GitHub เพื่อติดตามข้อบกพร่องและข้อผิดพลาด หากคุณพบปัญหากับโครงการ:
- เปิดปัญหา (เนื่องจากเราไม่สามารถแน่ใจได้ ณ จุดนี้ไม่ว่าจะเป็นข้อผิดพลาดหรือไม่เราขอให้คุณไม่พูดถึงข้อผิดพลาดและยังไม่ติดป้ายกำกับ)
- อธิบายพฤติกรรมที่คุณคาดหวังและพฤติกรรมที่แท้จริง
- โปรดระบุบริบทให้มากที่สุดและอธิบาย ขั้นตอนการทำซ้ำ ที่คนอื่นสามารถติดตามเพื่อสร้างปัญหาด้วยตนเอง ซึ่งมักจะรวมถึงรหัสของคุณ สำหรับรายงานข้อผิดพลาดที่ดีคุณควรแยกปัญหาและสร้างกรณีทดสอบที่ลดลง
- ให้ข้อมูลที่คุณรวบรวมในส่วนก่อนหน้า
เมื่อยื่น:
- ทีมงานโครงการจะติดฉลากปัญหาตามนั้น
- สมาชิกในทีมจะพยายามทำซ้ำปัญหาด้วยขั้นตอนที่คุณระบุไว้ หากไม่มีขั้นตอนการทำซ้ำหรือไม่มีวิธีที่ชัดเจนในการทำซ้ำปัญหาทีมจะขอขั้นตอนเหล่านั้นและทำเครื่องหมายปัญหาว่าเป็น
needs-repro ข้อบกพร่องที่มีแท็ก needs-repro จะไม่ได้รับการแก้ไขจนกว่าจะมีการทำซ้ำ - หากทีมสามารถทำซ้ำปัญหาได้มันจะถูกทำเครื่องหมาย
needs-fix เช่นเดียวกับแท็กอื่น ๆ (เช่น critical ) และปัญหาจะถูกนำไปใช้โดยใครบางคน
แนะนำการปรับปรุง
ส่วนนี้จะแนะนำคุณผ่านการส่งคำแนะนำการเพิ่มประสิทธิภาพสำหรับการบริจาค MD รวมถึงคุณสมบัติใหม่ที่สมบูรณ์และการปรับปรุงเล็กน้อยสำหรับฟังก์ชั่นที่มีอยู่ การปฏิบัติตามแนวทางเหล่านี้จะช่วยให้ผู้ดูแลและชุมชนเข้าใจข้อเสนอแนะของคุณและค้นหาคำแนะนำที่เกี่ยวข้อง
ก่อนที่จะส่งการปรับปรุง
- ตรวจสอบให้แน่ใจว่าคุณใช้เวอร์ชันล่าสุด
- อ่านเอกสารอย่างละเอียดและดูว่าฟังก์ชั่นนั้นครอบคลุมอยู่แล้วหรือไม่โดยการกำหนดค่าแต่ละรายการ
- ทำการค้นหาเพื่อดูว่ามีการแนะนำการปรับปรุงแล้วหรือไม่ ถ้ามีให้เพิ่มความคิดเห็นในปัญหาที่มีอยู่แทนที่จะเปิดใหม่
- ค้นหาว่าความคิดของคุณเหมาะสมกับขอบเขตและเป้าหมายของโครงการหรือไม่ มันขึ้นอยู่กับคุณที่จะสร้างกรณีที่แข็งแกร่งเพื่อโน้มน้าวให้นักพัฒนาโครงการเกี่ยวกับข้อดีของคุณลักษณะนี้ โปรดทราบว่าเราต้องการคุณสมบัติที่จะเป็นประโยชน์กับผู้ใช้ส่วนใหญ่ของเราและไม่ใช่แค่ชุดย่อยขนาดเล็ก หากคุณเพิ่งกำหนดเป้าหมายผู้ใช้ส่วนน้อยให้พิจารณาการเขียนไลบรารี Add-On/Plugin
ฉันจะส่งคำแนะนำการปรับปรุงที่ดีได้อย่างไร?
คำแนะนำการปรับปรุงถูกติดตามเป็นปัญหา GitHub
- ใช้ ชื่อที่ชัดเจนและอธิบาย สำหรับปัญหาเพื่อระบุข้อเสนอแนะ
- ให้ คำอธิบายทีละขั้นตอนของการปรับปรุงที่แนะนำ ในรายละเอียดให้ได้มากที่สุด
- อธิบายพฤติกรรมปัจจุบัน และ อธิบายพฤติกรรมที่คุณคาดว่าจะเห็นแทน และทำไม ณ จุดนี้คุณสามารถบอกได้ว่าทางเลือกใดที่ไม่เหมาะกับคุณ
- คุณอาจต้องการ รวมภาพหน้าจอและ GIF แบบเคลื่อนไหว ซึ่งช่วยให้คุณสาธิตขั้นตอนหรือชี้ให้เห็นส่วนที่เกี่ยวข้องกับคำแนะนำ คุณสามารถใช้เครื่องมือนี้เพื่อบันทึก GIF บน MacOS และ Windows และเครื่องมือนี้หรือเครื่องมือนี้บน Linux
- อธิบายว่าทำไมการปรับปรุงนี้จะเป็นประโยชน์ ต่อผู้ใช้ที่มีส่วนร่วมมากที่สุด คุณอาจต้องการชี้ให้เห็นโครงการอื่น ๆ ที่แก้ไขได้ดีกว่าและสามารถใช้เป็นแรงบันดาลใจได้