> For the complete documentation index, see [llms.txt](https://docs.optimumsec.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.optimumsec.xyz/coding.md).

# Coding

- [Code Conservatism: Less is More](https://docs.optimumsec.xyz/coding/code-conservatism.md)
- [Use a Spell Checker](https://docs.optimumsec.xyz/coding/use-spell-checker.md)
- [Use an Up-To-Date Compiler Version](https://docs.optimumsec.xyz/coding/use-up-to-date-compiler-version.md)
- [Security-Driven Development](https://docs.optimumsec.xyz/coding/security-driven-development.md)
- [Define a Security-Oriented CI Environment](https://docs.optimumsec.xyz/coding/security-oriented-ci.md)
- [Prefer Unstructured Storage for Upgradeable Contracts](https://docs.optimumsec.xyz/coding/unstructured-storage.md)
- [Avoid Vendoring Dependencies](https://docs.optimumsec.xyz/coding/avoid-vendoring.md)
- [Use a Plugin for Safe Upgrades](https://docs.optimumsec.xyz/coding/plugin-for-safe-upgrades.md)
- [Use Reentrancy Guards](https://docs.optimumsec.xyz/coding/reentrancy-guards.md)
- [Revert/Return Early](https://docs.optimumsec.xyz/coding/revert-return-early.md)
- [Revert vs Return](https://docs.optimumsec.xyz/coding/revert-vs-return.md)
- [Avoid Unlimited ERC-20 Approvals](https://docs.optimumsec.xyz/coding/avoid-unlimited-erc20-approvals.md)
- [Use the Safe ERC-20 Library](https://docs.optimumsec.xyz/coding/safe-erc20-library.md)
- [Beware of "NFT Front Running" in ERC-721 Tokenization](https://docs.optimumsec.xyz/coding/nft-front-running.md)
- [Rounding in Favor of the Protocol with Integer Division in Solidity](https://docs.optimumsec.xyz/coding/round-in-favor-of-protocol.md)
- [Use the SafeCast Library](https://docs.optimumsec.xyz/coding/safe-cast-library.md)
- [Use Cryptographic Libraries](https://docs.optimumsec.xyz/coding/use-cryptographic-libs.md)
- [Consider Non-Sequential Nonces for Digital Signatures](https://docs.optimumsec.xyz/coding/non-sequential-nonces.md)
- [Prefer to Avoid Low-Level Calls](https://docs.optimumsec.xyz/coding/avoid-low-level-calls.md)
- [Use abi.encodeCall for Low Level Calls](https://docs.optimumsec.xyz/coding/abi-encode-call.md)
- [Careful Vetting of Unchecked Blocks](https://docs.optimumsec.xyz/coding/careful-vetting-of-unchecked-blocks.md)
- [Avoid Arbitrary Low-Level External Calls](https://docs.optimumsec.xyz/coding/avoid-arbitrary-external-calls.md)
- [Follow the EIP-712 Standard for Digital Signatures](https://docs.optimumsec.xyz/coding/adhere-to-eip-712.md)
- [Vetting Process for External Tokens](https://docs.optimumsec.xyz/coding/vetting-process-for-external-tokens.md)
- [Ensure Code Dependencies Are Secured](https://docs.optimumsec.xyz/coding/code-dependencies-security.md)
