# Coding

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