Is override base method in Odoo is good option?
The best way to overwrite any method is to use super(), to execute the old functionality and avoid destroying the functionality of other module methods which also overwrite that source method. If you do that you're doing well. But sometimes you'll find situations in which you can't use super() and you need to copy the source code to modify anything inside. In those cases, you must be careful and be aware of what you're overwriting.

Example A


You've the base method action_confirm(), which is created by sale module.
You install a module named sale_extension, which overwrites action_confirm() method using super().
Then you install your custom module, where you're also overwriting action_confirm() with super().
When action_confirm() is called, it's going to execute sale, sale_extension and your module functionality.


Example B


You've the base method action_confirm(), which is created by sale module.
You install a module named sale_extension, which overwrites action_confirm() method using super().
Then you install your custom module, where you're also overwriting action_confirm() without super(), so you've been copied the source code of action_confirm() and modified it.
When action_confirm() is called, it's going to execute sale and your module functionality, but not the sale_extension one.
So you should have understood first and then have added the code introduced by sale_extension in the source code you had copied, and then, modify it.
The problem with this case is the future modules you can install, if they overwrite action_confirm(), your code is going to ignore their changes.

So the conclusion is that if you use super(), you're not bound to have problems in your method when installing new modules (although there are cases in which even with super(), you'll have to modify your code to adapt it to the new installed module functionality).
I created a new method in my custom module and I want to use my method when user clicks button confirm in sale order. so I did research and found easy solution to complete this job.

Override base method. In this case is method action_confirm() in sale.py by use super() method.

so I am just wondering, is it the right way?Is there a better solution than this? please suggest me.