คำถามติดแท็ก warnings

9
เหตุใดจึงควรปิดการใช้งานคำเตือนคอมไพเลอร์?
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่ผ่านมา คำตอบนี้และความคิดเห็นที่เพิ่มเข้าไปแสดงวิธีปิดการใช้งานคำเตือนคอมไพเลอร์หลายคำ#pragmaสั่งโดยใช้คำสั่ง ทำไมหนึ่งต้องการทำเช่นนั้น? โดยปกติแล้วคำเตือนจะอยู่ที่เหตุผลและฉันก็รู้สึกเสมอว่าเป็นเหตุผลที่ดี มี "กรณีที่ถูกต้อง" ที่คำเตือนควรปิดการใช้งานหรือไม่ ตอนนี้ฉันนึกอะไรไม่ออกเลย แต่นั่นอาจเป็นแค่ฉัน
26 c#  c++  c  warnings 

3
เป็นการดีหรือไม่ที่จะหลีกเลี่ยงคำเตือนและประกาศ?
โดยทั่วไปฉันทำงานกับคำเตือนและประกาศ PHP เนื่องจากฉันทำงานในหลายโครงการที่มีการผลิตจริงอยู่แล้ว ตอนนี้ถ้าฉันเปิดคำเตือนและประกาศบนเว็บไซต์ที่ใช้งานจริงเหล่านี้พวกเขาจะได้รับข้อมูลมากเกินไป โครงการที่ฉันทำงานที่บ้านในท้องถิ่นฉันมักจะพยายามหลีกเลี่ยงคำเตือนและประกาศทั้งหมด บางครั้งไม่มีวิธีแก้ปัญหาที่ไม่มีการบอกกล่าวดังนั้นฉันแค่ต้องจัดการกับการสังเกตจนกว่าฉันจะตัดสินใจปิดพวกเขาทั้งหมด ในท้ายที่สุดฉันไม่รู้ว่าฉันกำลังเสียเวลาพยายามกำจัดคำเตือนและประกาศทั้งหมดหรือว่าจริง ๆ แล้วฉันทำสิ่งนี้เพื่อประโยชน์ที่ดีกว่า ดังนั้นคำถามของฉันมันเป็นแนวปฏิบัติที่ดีที่จะหลีกเลี่ยงคำเตือนและการแจ้งเตือนทั้งหมดหรือไม่จริงหรือไม่
20 php  warnings 

3
เป็นวิธีปฏิบัติที่ดีในการใช้คำเตือนในรหัสของคุณหรือไม่?
ฉันใช้@SuppressWarnings("unchecked")และ@SuppressWarnings("null")ส่วนใหญ่วิธีการข้างต้นเพื่อให้รหัสรวบรวมโดยไม่มีคำเตือนใด ๆ แต่ฉันมีข้อสงสัยของฉัน พบคำถาม Stackoverflow นี้ Jon Skeet เขียนคำตอบที่ฉันพบว่าน่าสนใจ ตามที่เขาพูด บางครั้ง generics Java ก็ไม่ยอมให้คุณทำสิ่งที่คุณต้องการและคุณต้องบอกคอมไพเลอร์อย่างมีประสิทธิภาพว่าสิ่งที่คุณทำจริงๆจะถูกกฎหมายในเวลาดำเนินการ แต่ถ้ามีโอกาสที่ข้อยกเว้นจะถูกโยนทิ้งไปล่ะ? การระงับคำเตือนเป็นความคิดที่ไม่ดีใช่ไหม ฉันไม่ควรทราบเกี่ยวกับสถานที่ซึ่งปัญหาอาจปรากฏหรือไม่ นอกจากนี้จะเกิดอะไรขึ้นถ้ามีคนอื่นแก้ไขโค้ดของฉันในภายหลังและเพิ่มฟังก์ชันการทำงานที่น่าสงสัยโดยไม่ลบ SuppressWarnings จะสามารถหลีกเลี่ยงและ / หรือมีทางเลือกอื่นในการนี้ได้อย่างไร? ฉันควรจะใช้@SuppressWarnings("unchecked")และ@SuppressWarnings("null")? อัปเดต # 1 เท่าที่ประเภทที่ไม่ได้เลือกได้ปลดเปลื้องไปตามคำตอบนี้(ชี้ให้เห็นโดย @gnat ในความคิดเห็นด้านล่าง) การปราบปรามคำเตือนเหล่านี้เป็นสิ่งที่จำเป็น ห้องสมุด Java ที่ขาดไม่ได้หลายแห่งไม่เคยมีการอัพเดทเพื่อกำจัดความต้องการ typecasts ที่ไม่ปลอดภัย การระงับคำเตือนเหล่านั้นเป็นสิ่งที่จำเป็นเพื่อให้คำเตือนที่สำคัญอื่น ๆ จะได้รับการสังเกตและแก้ไข ในกรณีที่มีการระงับคำเตือนอื่น ๆ ยังคงอยู่ในพื้นที่สีเทาเล็กน้อย อัปเดต # 2 ตามเอกสาร Oracle (กล่าวถึงบางคำตอบด้านล่าง): โปรแกรมเมอร์ควรใช้คำอธิบายประกอบนี้กับองค์ประกอบที่ซ้อนกันมากที่สุดซึ่งมีประสิทธิภาพ หากคุณต้องการระงับคำเตือนในวิธีใดวิธีหนึ่งคุณควรใส่คำอธิบายประกอบวิธีนั้นแทนการเรียน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.