Hi Manas,
Absolutely. The first few automations will require you to build an entire set of objects to use.
After that, future automations using the same applications should be able to reuse many of the same actions over and over.
In terms of best practice, would recommend making each action as simple and as basic as possible and save all retry attempts and any other complex steps for the process level.
E.g. Mainframe objects frequently are incredibly reusable, we have a Mainframe object which only includes a Launch, Terminate, Sign In, Sign Out, Unlock, Send Hotkey, Read Field, Write to Field and Validate Element.
That object has been used repeatedly. All the complexity on different screens is all at the process layer.
if anyone else has advice for Best Practice, I'd love to hear from more experienced developers though.