ข้อได้เปรียบของมาโครที่ถูกสุขลักษณะนั้นไม่ใช่ความสามารถด้านภาษา - คุณสามารถเขียนมาโครที่มีสุขอนามัยที่ดีได้gensym
และใช้คำพูด / คำพูดที่ไม่ถูกต้องในเวลาที่เหมาะสม อย่างไรก็ตามมาโครที่ถูกสุขลักษณะรับรองว่ามาโครของคุณมีสุขอนามัยที่ดี ในแง่นั้นมันก็เหมือนกับการตรวจสอบประเภท
นอกจากนี้ยังอาจมีข้อดีด้านการใช้เครื่องมือกับมาโครที่ถูกสุขลักษณะ ระบบแมโครที่ถูกสุขอนามัยส่วนใหญ่กำหนดควบคุมอย่างเข้มงวดว่าแมโครของคุณทำอะไรและทำอย่างไร (เช่นคุณไม่สามารถเรียกใช้รหัสโดยอำเภอใจเมื่อแมโครถูกกำหนดโดย Scheme syntax-case
ถูกขยาย) สิ่งนี้สามารถทำให้ง่ายขึ้นในการเขียนโปรแกรมที่ "เข้าใจ" แมโครของคุณและสามารถให้การสนับสนุนเครื่องมือเพิ่มเติม
ในทางกลับกันมีบางกรณีที่มาโครที่ไม่ถูกสุขลักษณะอาจมีประโยชน์ ตัวอย่างเช่นหากคุณต้องการจับการเชื่อมโยงสำหรับตัวแปรเฉพาะ (เช่นมาโครแบบ anaphoric ) ฉันคิดว่าคุณโชคไม่ดีถ้าคุณมีมาโครที่ถูกสุขลักษณะ