แนวคิดพื้นฐานคือคุณไม่ต้องเช็คอินค่าที่เป็นความลับในรหัสหรือในไบนารีที่รวบรวม โดยเฉพาะถ้าโครงการเป็นโอเพ่นซอร์สคุณไม่ควรทำจริงๆ มีกลยุทธ์การกำหนดค่าหลายอย่างที่คุณสามารถทำได้เพื่อ:
ตัวยึดตำแหน่งในรหัส (ค่าฮาร์ดโค้ด)
ตัวยึดตำแหน่งในรหัส - ตามที่แนะนำ - ซึ่งมีเหตุผลและง่ายที่สุดในภาษาการเขียนโปรแกรมแบบไดนามิกเนื่องจากรหัสนั้นง่ายต่อการเปลี่ยนแปลง (โดยไม่จำเป็นต้องรวบรวม) LocalSettings.php
ผมเคยเห็นจำนวนมากของโครงการมาเปิดทำเช่นนี้เช่นมีเดียวิกิกับมัน
ข้อเสียกับกลยุทธ์นี้คือการที่สำคัญคือ hardcoded ดังนั้นหากโปรแกรมนั้นถูกแจกจ่ายเป็นแบบไบนารี่ดังนั้นการมีรหัสฮาร์ดโค้ดทำให้ไม่สามารถบำรุงรักษาได้เป็นพิเศษ
ไฟล์ข้อความการกำหนดค่า
คุณสามารถทำได้โดยการใช้ไฟล์ข้อความการกำหนดค่าเช่นโปรแกรม / แอปพลิเคชันค้นหาไฟล์การกำหนดค่าและอ่านค่าจากมัน คุณสามารถเช็คอินตัวอย่างการกำหนดค่าด้วยตัวยึด แต่มีการกำหนดค่าจริงในเครื่องของคุณ
ในกรณีของคุณคุณสามารถสร้างkey.conf
ไฟล์ข้อความด้วยคีย์จริงให้โปรแกรมใช้ไฟล์นั้นและปล่อยให้มันถูกละเว้นโดยการควบคุมเวอร์ชัน คุณสามารถตรวจสอบkey.conf.example
ไฟล์ข้อความด้วยรหัสปลอมและตรวจสอบสิ่งนั้นได้ ตรวจสอบให้แน่ใจว่าโปรแกรม / แอปพลิเคชันของคุณสร้างข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์สำหรับผู้ใช้ในการเพิ่มคีย์จริงในไฟล์ที่ถูกต้อง
ภาษาการเขียนโปรแกรมบางภาษามี API ที่ให้สิ่งนี้โดยอัตโนมัติสำหรับคุณเช่น:
หากแอปพลิเคชันของคุณเป็นแอปฐานข้อมูลให้พิจารณาวางคีย์หรือตัวแปรการกำหนดค่าอื่น ๆ ในฐานข้อมูล มันเหมือนกับไฟล์ข้อความการกำหนดค่าด้านบน แต่คุณใส่ตัวแปรการกำหนดค่าทั้งหมดเช่นคีย์ในตารางฐานข้อมูลแทน
ผ่านมุมมองการกำหนดค่าตามความชอบหรือแอป Back Office
หากโปรแกรมเป็นหน้าต่างหรือเว็บแอปพลิเคชันที่มีมุมมองคุณสามารถอนุญาตให้แอปพลิเคชันสร้างไฟล์การกำหนดค่าผ่านมุมมองการกำหนดค่าตามความชอบ ด้วยวิธีนี้คุณไม่จำเป็นต้องเช็คอินไฟล์กำหนดค่าตัวอย่างตามที่แนะนำข้างต้น
MediaWiki แก้ไขปัญหานี้ในทำนองเดียวกันโดยการสร้างLocalSettings.php
ไฟล์อัตโนมัติในกระบวนการติดตั้งครั้งแรก
เป็นที่ยอมรับว่านี่ไม่ใช่ตัวเลือกสำหรับโปรแกรมที่เรียกใช้เป็นกระบวนการพื้นหลังบริการหรือ daemons เท่านั้น อย่างไรก็ตามนั่นเป็นเหตุผลที่คุณสร้างโครงการ GUI แยกต่างหากสำหรับเหล่านี้เพื่อสร้างจุดของรายการสำหรับการบริหารและการตั้งค่าการตั้งค่าในเว็บมักจะปพลิเคชันที่เรียกว่าแอปพลิเค Back Office