คำถามติดแท็ก static-import


16
กรณีการใช้งานที่ดีสำหรับการนำเข้าแบบคงที่คืออะไร?
เพิ่งได้รับความคิดเห็นในการตรวจสอบว่าการนำเข้าวิธีการแบบคงที่ของฉันไม่ใช่ความคิดที่ดี การนำเข้าแบบคงที่เป็นวิธีการจากคลาส DA ซึ่งส่วนใหญ่มีวิธีการคงที่ ดังนั้นในช่วงกลางของตรรกะทางธุรกิจฉันมีกิจกรรมดาที่ดูเหมือนจะเป็นของคลาสปัจจุบัน: import static some.package.DA.*; class BusinessObject { void someMethod() { .... save(this); } } ผู้ตรวจสอบไม่กระตือรือร้นที่ฉันจะเปลี่ยนรหัสและฉันไม่ทำ แต่ฉันก็เห็นด้วยกับเขา เหตุผลหนึ่งที่ทำให้ไม่นำเข้าแบบคงที่คือมันสับสนว่าเมธอดถูกกำหนดไว้ที่ไหนมันไม่ได้อยู่ในคลาสปัจจุบันและไม่ได้อยู่ในคลาสซูเปอร์คลาสใด ๆ ดังนั้นจึงใช้เวลาในการระบุนิยามของมันมากเกินไป (ระบบการตรวจสอบบนเว็บไม่สามารถคลิกได้ ลิงก์เช่น IDE :-) ฉันไม่คิดว่าเรื่องนี้สำคัญการนำเข้าแบบคงที่ยังค่อนข้างใหม่และเร็ว ๆ นี้เราทุกคนจะคุ้นเคยกับการค้นหา แต่อีกเหตุผลหนึ่งที่ฉันเห็นด้วยคือการเรียกเมธอดที่ไม่มีเงื่อนไขดูเหมือนจะเป็นของวัตถุปัจจุบันและไม่ควรข้ามบริบท แต่ถ้ามันเป็นของจริงมันก็สมเหตุสมผลที่จะขยายระดับซุปเปอร์นั้น ดังนั้นเมื่อไม่ได้ทำให้รู้สึกกับวิธีการนำเข้าคงที่ ทำเสร็จเมื่อไหร่ คุณชอบวิธีการโทรที่ไม่มีเงื่อนไขหรือไม่? แก้ไข: ความคิดเห็นที่เป็นที่นิยมดูเหมือนจะเป็นวิธีการนำเข้าแบบคงที่หากไม่มีใครจะสับสนว่าเป็นวิธีการของคลาสปัจจุบัน ตัวอย่างเช่นวิธีการจาก java.lang.Math และ java.awt.Color แต่ถ้า abs และ getAlpha ไม่คลุมเครือฉันไม่เห็นว่าทำไม readEmployee คือ ฉันคิดว่านี่เป็นความชอบส่วนบุคคลเช่นกัน ขอบคุณสำหรับคำตอบของคุณฉันกำลังปิดคำถาม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.