ผู้ดำเนินรายการหมายเหตุ: มี 39 คำตอบที่โพสต์แล้วที่นี่ (บางคำถูกลบไปแล้ว) ก่อนที่คุณโพสต์ของคุณคำตอบพิจารณาหรือไม่ว่าคุณสามารถเพิ่มสิ่งที่มีความหมายกับการอภิปราย คุณมีโอกาสมากกว่าที่จะทำซ้ำในสิ่งที่คนอื่นพูดไปแล้ว
บางครั้งฉันพบว่าตัวเองต้องการวิธีการแบบส่วนตัวในที่สาธารณะในชั้นเรียนเพื่อเขียนการทดสอบหน่วยบางอย่างสำหรับมัน
โดยทั่วไปแล้วจะเป็นเพราะวิธีการนี้มีตรรกะที่ใช้ร่วมกันระหว่างวิธีอื่น ๆ ในชั้นเรียนและเป็นระเบียบเรียบร้อยมากขึ้นในการทดสอบตรรกะด้วยตนเองหรือเหตุผลอื่นอาจเป็นไปได้ถ้าฉันต้องการทดสอบตรรกะที่ใช้ในเธรดแบบซิงโครนัส .
คนอื่นคิดว่าตัวเองกำลังทำสิ่งนี้อยู่หรือเปล่าเพราะฉันไม่ชอบทำมันจริงเหรอ? โดยส่วนตัวแล้วฉันคิดว่าโบนัสนั้นมีค่ามากกว่าปัญหาในการทำให้วิธีการเป็นสาธารณะซึ่งไม่ได้ให้บริการใด ๆ นอกห้องเรียน ...
UPDATE
ขอบคุณสำหรับคำตอบทุกคนดูเหมือนว่าจะทำให้คนสนใจป่องๆ ฉันคิดว่าฉันทามติทั่วไปคือการทดสอบควรเกิดขึ้นผ่าน API สาธารณะเนื่องจากนี่เป็นวิธีเดียวที่จะใช้คลาสนี้และฉันเห็นด้วยกับสิ่งนี้ สองสามกรณีที่ฉันกล่าวถึงข้างต้นที่ฉันจะทำเช่นนี้เป็นกรณีที่ผิดปกติและฉันคิดว่าประโยชน์ของการทำมันคุ้มค่า
อย่างไรก็ตามฉันสามารถเห็นทุกคนชี้ว่ามันไม่ควรเกิดขึ้นจริง และเมื่อคิดเกี่ยวกับมันอีกเล็กน้อยฉันคิดว่าการเปลี่ยนรหัสของคุณเพื่อรองรับการทดสอบเป็นความคิดที่ไม่ดี - หลังจากทั้งหมดฉันคิดว่าการทดสอบเป็นเครื่องมือสนับสนุนในทางและการเปลี่ยนระบบเป็น 'สนับสนุนเครื่องมือสนับสนุน' ถ้าคุณพอใจ การปฏิบัติที่ไม่ดี
@VisibileForTesting
คำอธิบายประกอบเพื่อสร้างวิธีดังกล่าว - ฉันขอแนะนำให้คุณทำเช่นนี้เพื่อให้เหตุผลสำหรับวิธีการที่ไม่ได้รับการprivate
บันทึกอย่างถูกต้อง