Skip to content

Latest commit

 

History

History
22 lines (18 loc) · 5.56 KB

CONTRIBUTING.md

File metadata and controls

22 lines (18 loc) · 5.56 KB

Contributor Instruction

รายละเอียดที่ควรรู้สำหรับนักพัฒนาที่ต้องการเข้ามามีส่วนรวมในการพัฒนาโปรเจคนี้

เกี่ยวกับแอปนี้

แอปนี้ถูกออกแบบมาเพื่อตรวจสอบแอปที่ติดตั้งอยู่ภายในเครื่องว่ามีการติดตั้งแอปจากภายนอกหรือไม่ รวมไปถึงการแสดงข้อมูลเกี่ยวกับแอปที่ใช้งาน Accessibility Service และ Media Projection เพื่อช่วยให้ผู้ใช้จัดการและตัดสินใจด้วยตัวเองต่อได้อย่างเหมาะสม

  • ถูกออกแบบมาสำหรับผู้ใช้ที่มีความรู้ความเข้าใจในระบบแอนดรอยด์ประมาณหนึ่ง (Power User) และสำหรับผู้ใช้ทั่วไปที่ไม่เข้าใจการทำงานและข้อมูลที่แสดงในแอปนี้ก็ควรปรึกษาผู้ใช้เหล่านั้นแทน
  • มีหน้าที่รวบรวมข้อมูลที่จำเป็นเพื่อแสดงให้ผู้ใช้เห็นเท่านั้น ไม่ได้ถูกออกแบบมาให้จัดการทุกอย่างแทนผู้ใช้
  • ไม่ได้ป้องกันแอปเถื่อนหรือสุ่มเสี่ยงต่อความปลอดภัย แค่อำนวยความสะดวกในการตรวจสอบแอปที่ติดตั้งภายในเครื่องเท่านั้น
  • จะไม่มีการทำงานเบื้องหลัง (Background Task) โดยการทำงานทั้งหมดจะเกิดขึ้นตอนที่ผู้ใช้เปิดแอปนี้ขึ้นมาเท่านั้น เราไม่อยากให้แอปกลายเป็นส่วนหนึ่งของแอปที่กินแบตเพราะทำงานเบื้องหลังและต้องตอบคำถามกับผู้ใช้ที่สงสัยว่าแอปแอบทำงานเบื้องหลังทำไม
  • ขอ Permission เฉพาะการทำงานที่สำคัญเท่านั้น ถ้าเป็นฟีเจอร์ที่ไม่เกี่ยวข้องกับจุดประสงค์ของแอปโดยตรง จะไม่อนุญาตให้ขอ Permission เพิ่ม
  • ด้วยเหตุผลเรื่อง User Privacy ทำให้การทำงานทั้งหมดจะต้องเป็น Offline และจะไม่มีการขอ Internet Permission เพื่อให้ผู้ใช้มั่นใจได้ว่าแอปนี้จะไม่แอบส่งข้อมูลภายในแอปออกไปยังอินเตอร์เน็ต

จะช่วยพัฒนาโปรเจคนี้ต้องทำอะไรบ้าง

  • สามารถนำเสนอฟีเจอร์ที่คิดว่าเป็นประโยชน์ด้วยการสร้าง Issue เพื่ออธิบายไอเดียก่อนได้ เนื่องจากบางไอเดียอาจจะทำไม่ได้เพราะขัดกับทิศทางของแอปที่ตั้งใจจะให้เป็น
  • สามารถเลือก Issue ที่อยู่ใน Feature & Roadmap (Projects) มาทำได้ โดยให้ Comment บอกไว้ใน Issue นั้นด้วยว่าจะเป็นคนทำ
  • Technical Improvement อาจจะไม่ต้องเปิด Issue เพื่อปรึกษา แต่ถ้าไม่มั่นใจก็สร้าง Issue ก่อนได้
  • การเปิด Pull Request ควรมีคำอธิบายเกี่ยวกับโค้ดชุดนั้น, ภาพประกอบ (ถ้ามี) และถ้ามีรายละเอียดเกี่ยวกับการทดสอบการทำงานของโค้ดชุดนั้นด้วยก็จะดีมาก
  • ใส่ชื่อตัวเองใน Contributor List ด้วย (ถ้ายังไม่มี) โดยจะอยู่ใน README.md และ Contributors.kt ถึงแม้จะเป็นโค้ดแค่เพียงไม่กี่บรรทัด แต่คุณก็มีส่วนร่วมในการพัฒนาโปรเจคให้ดียิ่งขึ้นและควรจะมีชื่อของคุณอยู่ในนั้นด้วย

อื่น ๆ

  • ไม่มี Release Cycle ตายตัว พร้อมที่จะ Release ได้ตลอดเวลา