How do i fix this kind of shading after using boolean mod?

EDIT:
I can make the shading better by applying the modifiers and fixing the topology this way.

How do i fix this kind of shading after using boolean mod?

EDIT:
I can make the shading better by applying the modifiers and fixing the topology this way.

I guess there are 2 main ways to do it in a clean way: with Boolean or with LoopTools > Circle.
With a Boolean modifier you must make sure that your boolean object is well placed and has the right amount of vertices. You will probably make some vertices merge. Don't forget to bevel the ring so that it stays clean and sharp.
With the LoopTools > Circle tool, you must first delete some faces, use the LoopTools > Circle, then extrude inwards and close it manually.