Ethereum Smart Contract Best Practices
Timestamp
Favor
pull
over
push
for external calls
is better to let users withdraw funds rather than push funds to them automatically.
https://consensys.github.io/smart-contract-best-practices/development-recommendations/general/external-calls/#favor-pull-over-push-for-external-calls