This question has been flagged
1 Reply
4232 Views

Is _inherit the best way to make changes in functionality ?

When using _inherit some time to change some small thing in view or logic i need to write a lot of code around... it's slowly

May be if i need to make big changes in system it's better to change sources directly and every time when sources updated merge with it?

Avatar
Discard
Best Answer

In some cases, if your are so large, or your functionality so specific, that is "transfigures" the purpose and functionality of the standard module, it will be best to build it from scratch.

You will need to evaluate carefully, and it can be a hard decision. I suggest to ask yourself: if I make the changes on top on an existing module, and at some point the client wants to also use the original functionality it offered, will it be practical to still do so? If the answer is yes, extend the existing module, if it's no, build a new one.

In general, you should try your best to leverage and build on top of existing functionality. Never, I repeat, never, change sources directly. Always use inheritance. It might look slow at first, but you will get more robust and future proof modules.

Changes made directly to source code:

  • Don't automatically survive to product version upgrades
  • Are a lot harder to migrate to later product versions
  • In general are not considered good practices, and so will not be accepted for community contributions
Avatar
Discard