UK keyboard layouts suck for writing Portuguese, because they lack convenient ways to type all the diacritics. Portuguese layouts (especially on macOS) suck horrendously for programming (curly braces and square brackets are inordinately annoying to type).
These days, all my physical keyboards are US (ANSI) layouts, and I use the US International (with dead keys) layout exclusively. It's the only relatively sane option that allows me to write both code and all the natural languages I'm liable to write on any given day (read: English, Portuguese, and some random French or German loanwords here and there).