For smart codes: visitors see these on a short page, then continue to your link by themselves.
Keep the pattern much darker than the background. Light patterns often fail to scan.
With a logo, the code switches to the highest damage resistance automatically.