Reiterating @JayachandraSiddipeta’s point 1.
Consider the design time of your component just as much as the run time.
If you foresee or plan for something to change, it should be configurable in App/Dev Studio when using that component. This would save you having to recreate it for reasonable changes.
Example of configuration in a DX Component
This is one of the tips @oveni and @Josh_Helmbrecht shared in Webinar Replay! Extending Constellation: A Deep Dive into Constellation DX Components.
