ทริกเกอร์ส่วนตัวของฉันสำหรับบรรจุภัณฑ์คือ:
- ฉันพบว่าฉันใช้รหัสที่ฉันเขียนอีกครั้งสำหรับโครงการวิเคราะห์ข้อมูลอีกครั้ง
- ฉันคิดว่าฉันต้องการวิธีที่ฉันเพิ่งเขียนอีกครั้ง
เพื่อนร่วมงานขอรหัสให้ฉัน ส่วนสำคัญของรหัสที่ฉันเขียนนั้นเป็นอย่างน้อยที่สุดเมื่อมีการร้องขอจากเพื่อนร่วมงาน (ผู้ใช้ R แต่ไม่ได้เขียนโปรแกรมด้วยตัวเองมาก) สำหรับตัวฉันเอง
ฉันใช้ข้อกำหนดอย่างเป็นทางการของแพคเกจ (เอกสาร) เพื่อ "บังคับ" ฉันทำความสะอาดและจัดทำเอกสารรหัสของฉัน
ฉันเห็นด้วยกับ @JohnRos ว่ามีความแตกต่างค่อนข้างมากระหว่างการเขียนแพ็คเกจและการเผยแพร่แพ็คเกจ
ฉันมักจะจัดแพคเกจก่อน แต่จากนั้นทำแพ็กเกจเท่านั้น "semipublic" นั่นคืออาจมีอยู่ในเซิร์ฟเวอร์ภายใน (หรือบน r-forge) ดังนั้นเพื่อนร่วมงานของฉันสามารถเข้าถึงแพ็คเกจได้ แต่ฉันเผยแพร่ให้ CRAN หลังจากใช้งานแพ็คเกจมาหลายเดือนหรือแม้กระทั่งไม่กี่ปีโดยเพื่อนร่วมงานที่สนิท สิ่งนี้ไม่ทำให้เกิดข้อบกพร่องทั้งหมดตามจุดที่ @Nick Cox # 3 แต่มีจำนวนพอสมควร
แพ็คเกจของรุ่น (ฉันใส่วันที่หลังจากเส้นประในหมายเลขเวอร์ชั่น) ทำให้ง่ายต่อการแก้ไขสิ่งต่าง ๆ ("เพื่อทำสิ่งนี้และให้แน่ใจว่าคุณติดตั้งเวอร์ชันของสัปดาห์ที่แล้วอย่างน้อย")
ตามสัญญาการทำงานของฉันนายจ้างของฉันมีคำพูดสุดท้ายเกี่ยวกับการตัดสินใจว่าจะเผยแพร่แพคเกจไปยังโลกภายนอกได้อย่างไรและอย่างไร
สิ่งที่ฉันทำไม่ได้ยังมีกลยุทธ์ที่ดีสำหรับบรรจุภัณฑ์เป็นข้อมูล
ความเห็นเกี่ยวกับรายการเหตุผลของคุณ:
- การไม่มีอยู่ของแพ็กเกจอื่นในฟิลด์ย่อยเดียวกัน
การไม่หาแพ็คเกจที่ทำในสิ่งที่ฉันต้องการสำหรับฉันเป็นต้นเหตุให้เขียนรหัส แต่มันไม่ได้เกี่ยวกับการตัดสินใจว่าจะจัดแพคเกจหรือไม่
- ความจำเป็นในการแลกเปลี่ยนกับนักวิจัยคนอื่นและอนุญาตให้ทำซ้ำการทดลอง;
แตกหัก อาจจำเป็นต้องแชร์ระหว่างคอมพิวเตอร์หลายเครื่องที่ฉันใช้อยู่
และในบรรดาประเด็นที่อาจนำไปสู่การตัดสินใจที่ตรงกันข้าม:
- ส่วนหนึ่งของวิธีการที่ใช้ในแพ็คเกจอื่นแล้ว;
คุณสามารถนำเข้าวิธีการเหล่านั้นไปยังแพ็คเกจ / รหัสของคุณ: นี่คือจุดที่ต่อต้านการเขียนรหัสดังกล่าว แต่มีเพียงการทำบรรจุภัณฑ์ทางอ้อมเท่านั้น
- จำนวนฟังก์ชั่นใหม่ไม่เพียงพอที่จะปรับให้เหมาะสมเพื่อสร้างแพ็คเกจอิสระใหม่
สำหรับฉันไม่มีฟังก์ชั่นขั้นต่ำในการเริ่มแพคเกจ ในแพ็คเกจประสบการณ์ของฉันมีแนวโน้มที่จะเติบโต "อัตโนมัติ" ในทางตรงกันข้ามหลังจากที่ฉันพบว่าตัวเองแตกแขนงใหม่ออกจากแพคเกจใหม่ (เพราะฟังก์ชั่นของผู้ช่วยบางคนในท้ายที่สุดกลายเป็นความแตกต่างและมีประโยชน์ในสถานการณ์อื่น ๆ ด้วย) ตอนนี้ฉันค่อนข้าง สร้างแพ็คเกจใหม่ทันที
นอกจากนี้หากคุณไม่ได้เขียนเอกสารและการทดสอบนี่อาจเป็นจำนวนงานที่ต้องห้ามเมื่อมีจำนวนฟังก์ชั่น "เพียงพอ" สำหรับการสร้างแพ็คเกจที่สะสม
(ถ้าคุณเขียนพวกเขาทันทีความพยายามเพิ่มเติมที่จะนำไปใส่ในแพ็คเกจจะไม่สำคัญเมื่อคุณทราบขั้นตอนการทำงาน)