Make everything configurable by default so if there is ever a change you need to make, there is a backdoor for you to make it.
This is very similar to how mobile apps are made highly configurable so they can be updated in the background without needing to go through App store / Play store approval.
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.22;
contract Storage {
uint multiplier;
uint num;
constructor() {
num = 0;
multiplier = 1;
}
function setNum(uint _num) public {
num = _num * multiplier;
}
function getnum() public virtual returns (uint) {
return num;
}
function setMultiplier(uint _multiplier) public {
multiplier = _multiplier;
}
}
Ask everyone to upgrade to a new smart contract address.
Cons -