Every Vyper file should declare the compiler version it was written for using a comment pragma. This isn't optional style — the compiler refuses to build if the installed version falls outside the stated range.
A typical file layout is: version pragma, imports/interfaces, state variables, events, constructor, then external and internal functions grouped by purpose.
# @version ^0.3.10
from vyper.interfaces import ERC20
owner: public(address)
token: public(address)
event Deposited:
amount: uint256Unlike Solidity's `pragma solidity`, Vyper's version comment must start with `# @version` and is checked strictly against the installed compiler.